Skip to content

Commit 32605a1

Browse files
committed
StdlibCollectionUnittest: MinimalIterator: allow multiple nil returns
SE-0052 requires all iterators to return nil indefinitely after all elements have been consumed.
1 parent 6bfb6e0 commit 32605a1

File tree

1 file changed

+0
-22
lines changed

1 file changed

+0
-22
lines changed

stdlib/private/StdlibCollectionUnittest/MinimalCollections.swift.gyb

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,6 @@ from gyb_stdlib_support import (
2222

2323
import StdlibUnittest
2424

25-
/// State that is created every time a fresh generator is created with
26-
/// `MinimalSequence.makeIterator()`.
27-
internal class _MinimalIteratorPrivateState<T> {
28-
internal init() {}
29-
30-
internal var returnedNilCounter: Int = 0
31-
}
32-
3325
/// State shared by all generators of a MinimalSequence.
3426
internal class _MinimalIteratorSharedState<T> {
3527
internal init(_ data: [T]) {
@@ -64,26 +56,12 @@ public struct MinimalIterator<T> : IteratorProtocol {
6456

6557
public func next() -> T? {
6658
if _sharedState.i == _sharedState.data.count {
67-
if isConsumed {
68-
expectUnreachable("next() was called on a consumed generator")
69-
}
70-
_privateState.returnedNilCounter += 1
7159
return nil
7260
}
7361
defer { _sharedState.i += 1 }
7462
return _sharedState.data[_sharedState.i]
7563
}
7664

77-
public var isConsumed: Bool {
78-
return returnedNilCounter >= 1
79-
}
80-
81-
public var returnedNilCounter: Int {
82-
return _privateState.returnedNilCounter
83-
}
84-
85-
internal let _privateState: _MinimalIteratorPrivateState<T> =
86-
_MinimalIteratorPrivateState()
8765
internal let _sharedState: _MinimalIteratorSharedState<T>
8866
}
8967

0 commit comments

Comments
 (0)