Avatar
lazy → nonlazy 変換は現状で↓でできるから、 makeIterator を持った protocol を分離して( Iterable とか)、 LazySequenceProtocol はそれを継承して、 ArrayIterable を受けるイニシャライザを持てば OK そう。 let a: [Int] = [2, 3, 5] let b = a.lazy let c = Array(b) print(type(of: c))