Skip to content

Commit 4e7425c

Browse files
committed
[Tests] NFC: Add a test-case for rdar://123357062
1 parent 0c17b41 commit 4e7425c

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// RUN: %target-typecheck-verify-swift -enable-experimental-associated-type-inference
2+
// RUN: %target-typecheck-verify-swift -disable-experimental-associated-type-inference
3+
4+
extension LazySequenceProtocol {
5+
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
6+
func filtering(
7+
while predicate: @escaping (Self.Element) -> Bool
8+
) -> some (Sequence<Self.Element> & LazySequenceProtocol) {
9+
LazyFilteringSequence(base: self, predicate: predicate)
10+
}
11+
}
12+
13+
struct LazyFilteringSequence<S: Sequence>: LazySequenceProtocol {
14+
struct Iterator: IteratorProtocol {
15+
var iterator: S.Iterator
16+
var predicate: (S.Element) -> Bool
17+
18+
mutating func next() -> S.Element? {
19+
nil
20+
}
21+
}
22+
23+
var base: S
24+
var predicate: (S.Element) -> Bool
25+
26+
func makeIterator() -> Iterator {
27+
Iterator(iterator: self.base.makeIterator(), predicate: self.predicate)
28+
}
29+
}

0 commit comments

Comments
 (0)