Here it is https://github.com/apple/swift/blob/master/stdlib/public/core/CollectionAlgorithms.swift.gyb#L26 <https://github.com/apple/swift/blob/master/stdlib/public/core/CollectionAlgorithms.swift.gyb#L26>
> On Dec 30, 2015, at 4:27 PM, Kevin Ballard <[email protected]> wrote: > > We already don't have a .last on CollectionType and nobody's been complaining > about that. Besides, sequences don't necessarily even terminate. > > -Kevin Ballard > > On Wed, Dec 30, 2015, at 04:01 PM, Daniel Duan wrote: >> Users who don’t get the single-pass nature of SequenceType may expect a >> .last as well. >> >>> On Dec 30, 2015, at 3:57 PM, Kevin Ballard via swift-evolution >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> It's sometimes useful to get the first element of a sequence. To that end >>> I'd like to propose >>> >>> extensionSequenceType { >>> /// Returns the first element of `self`, or `nil` if `self` is empty. >>> /// - Complexity: O(1) >>> var first: Self.Generator.Element? { >>> var gen = generate() >>> return gen.next() >>> } >>> } >>> >>> I think it makes sense to add this property to the definition of >>> SequenceType as well, so various sequences can override it to avoid >>> constructing a generator. >>> >>> With this added to SequenceType, we can remove it from CollectionType, as >>> the behavior will be the same. >>> >>> -Kevin Ballard >>> >>> _______________________________________________ >>> swift-evolution mailing list >>> [email protected] <mailto:[email protected]> >>> https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
