12
12
13
13
/// A sequence that presents the elements of a base sequence of sequences
14
14
/// concatenated using a given separator.
15
- @_fixed_layout // FIXME(sil-serialize-all)
15
+ @_fixed_layout // lazy-performance
16
16
public struct JoinedSequence < Base : Sequence > where Base. Element : Sequence {
17
17
18
18
public typealias Element = Base . Element . Element
@@ -37,33 +37,33 @@ public struct JoinedSequence<Base : Sequence> where Base.Element : Sequence {
37
37
extension JoinedSequence {
38
38
/// An iterator that presents the elements of the sequences traversed
39
39
/// by a base iterator, concatenated using a given separator.
40
- @_fixed_layout // FIXME(sil-serialize-all)
40
+ @_fixed_layout // lazy-performance
41
41
public struct Iterator {
42
- @usableFromInline // FIXME(sil-serialize-all)
42
+ @usableFromInline // lazy-performance
43
43
internal var _base : Base . Iterator
44
- @usableFromInline // FIXME(sil-serialize-all)
44
+ @usableFromInline // lazy-performance
45
45
internal var _inner : Base . Element . Iterator ?
46
- @usableFromInline // FIXME(sil-serialize-all)
46
+ @usableFromInline // lazy-performance
47
47
internal var _separatorData : ContiguousArray < Element >
48
- @usableFromInline // FIXME(sil-serialize-all)
48
+ @usableFromInline // lazy-performance
49
49
internal var _separator : ContiguousArray < Element > . Iterator ?
50
50
51
- @_frozen // FIXME(sil-serialize-all)
52
- @usableFromInline // FIXME(sil-serialize-all)
51
+ @_frozen // lazy-performance
52
+ @usableFromInline // lazy-performance
53
53
internal enum JoinIteratorState {
54
54
case start
55
55
case generatingElements
56
56
case generatingSeparator
57
57
case end
58
58
}
59
- @usableFromInline // FIXME(sil-serialize-all)
59
+ @usableFromInline // lazy-performance
60
60
internal var _state : JoinIteratorState = . start
61
61
62
62
/// Creates a sequence that presents the elements of `base` sequences
63
63
/// concatenated using `separator`.
64
64
///
65
65
/// - Complexity: O(`separator.count`).
66
- @inlinable // FIXME(sil-serialize-all)
66
+ @inlinable // lazy-performance
67
67
public init < Separator: Sequence > ( base: Base . Iterator , separator: Separator )
68
68
where Separator. Element == Element {
69
69
self . _base = base
@@ -79,7 +79,7 @@ extension JoinedSequence.Iterator: IteratorProtocol {
79
79
/// exists.
80
80
///
81
81
/// Once `nil` has been returned, all subsequent calls return `nil`.
82
- @inlinable // FIXME(sil-serialize-all)
82
+ @inlinable // lazy-performance
83
83
public mutating func next( ) -> Element ? {
84
84
while true {
85
85
switch _state {
@@ -125,12 +125,12 @@ extension JoinedSequence: Sequence {
125
125
/// Return an iterator over the elements of this sequence.
126
126
///
127
127
/// - Complexity: O(1).
128
- @inlinable // FIXME(sil-serialize-all)
128
+ @inlinable // lazy-performance
129
129
public func makeIterator( ) -> Iterator {
130
130
return Iterator ( base: _base. makeIterator ( ) , separator: _separator)
131
131
}
132
132
133
- @inlinable // FIXME(sil-serialize-all)
133
+ @inlinable // lazy-performance
134
134
public func _copyToContiguousArray( ) -> ContiguousArray < Element > {
135
135
var result = ContiguousArray < Element > ( )
136
136
let separatorSize : Int = numericCast ( _separator. count)
@@ -183,7 +183,7 @@ extension Sequence where Element : Sequence {
183
183
/// - Parameter separator: A sequence to insert between each of this
184
184
/// sequence's elements.
185
185
/// - Returns: The joined sequence of elements.
186
- @inlinable // FIXME(sil-serialize-all)
186
+ @inlinable // lazy-performance
187
187
public func joined< Separator : Sequence > (
188
188
separator: Separator
189
189
) -> JoinedSequence < Self >
0 commit comments