diff --git a/stdlib/public/core/Sequence.swift b/stdlib/public/core/Sequence.swift index 665c4707676f2..411ef51d65050 100644 --- a/stdlib/public/core/Sequence.swift +++ b/stdlib/public/core/Sequence.swift @@ -725,14 +725,6 @@ internal class _PrefixSequence maxLength: Swift.min(maxLength, self._maxLength), taken: _taken)) } - - internal func drop( - while predicate: (Base.Element) throws -> Bool - ) rethrows -> AnySequence { - return try AnySequence( - _DropWhileSequence( - iterator: _iterator, nextElement: nil, predicate: predicate)) - } } /// A sequence that lazily consumes and drops `n` elements from an underlying diff --git a/validation-test/stdlib/SequenceType.swift.gyb b/validation-test/stdlib/SequenceType.swift.gyb index 100be387a42d6..ae91910948eb7 100644 --- a/validation-test/stdlib/SequenceType.swift.gyb +++ b/validation-test/stdlib/SequenceType.swift.gyb @@ -982,6 +982,11 @@ SequenceTypeTests.test("prefix/dispatch") { expectCustomizable(tester, tester.log.prefixMaxLength) } +SequenceTypeTests.test("prefix/drop/dispatch") { + let xs = sequence(first: 1, next: {$0 < 10 ? $0 + 1 : nil}) + expectEqualSequence([], Array(xs.prefix(3).drop(while: {$0 < 7}))) +} + //===----------------------------------------------------------------------===// // prefix(while:) //===----------------------------------------------------------------------===//