Avatar
omochimetaru 1/11/2018 2:37 AM
責務がおなじになるかは次のレベルの議論なのでいったんおいといて
2:37 AM
のところにそうかいてある
2:38 AM
だから、「責務を果たせていない」は、↑の例だけでは、主張できてないと考えます。
2:38 AM
(他になにかおかしいことがあるかもしれないけど、少なくともその例はセーフ)
2:40 AM
struct Countdown: Sequence, IteratorProtocol { var count: Int mutating func next() -> Int? { if count == 0 { return nil } else { defer { count -= 1 } return count } } }
2:40 AM
↑こうやると、 makeIterator が self の return が自動実装される、とか、そういう話も。