Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumSwifttype erasureSingle-choice MCQ

In the classic hand-rolled type eraser below, what role does the private `_Box`/`_AnyBox` abstract-class pattern play?

struct AnySequence2<Element>: Sequence { private let _makeIterator: () -> AnyIterator<Element> init<S: Sequence>(_ s: S) where S.Element == Element { _makeIterator = { AnyIterator(s.makeIterator()) } } func makeIterator() -> AnyIterator<Element> { _makeIterator() } }