Skip to content

Commit 99d3f96

Browse files
gribozavrMax Moiseev
authored and
Max Moiseev
committedDec 10, 2015
Rename IndexingGenerator to CollectionDefaultIterator
1 parent 67f0229 commit 99d3f96

20 files changed

+55
-66
lines changed
 

‎stdlib/public/core/Collection.swift

+15-26
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
// This protocol is almost an implementation detail of the standard
2020
// library; it is used to deduce things like the `SubSequence` and
2121
// `Iterator` type from a minimal collection, but it is also used in
22-
// exposed places like as a constraint on IndexingGenerator.
22+
// exposed places like as a constraint on CollectionDefaultIterator.
2323
public protocol Indexable {
2424
/// A type that represents a valid position in the collection.
2525
///
@@ -46,11 +46,11 @@ public protocol Indexable {
4646
// The declaration of _Element and subscript here is a trick used to
4747
// break a cyclic conformance/deduction that Swift can't handle. We
4848
// need something other than a CollectionType.Iterator.Element that can
49-
// be used as IndexingGenerator<T>'s Element. Here we arrange for the
50-
// CollectionType itself to have an Element type that's deducible from
51-
// its subscript. Ideally we'd like to constrain this
52-
// Element to be the same as CollectionType.Iterator.Element (see
53-
// below), but we have no way of expressing it today.
49+
// be used as CollectionDefaultIterator<T>'s Element. Here we arrange for
50+
// the CollectionType itself to have an Element type that's deducible from
51+
// its subscript. Ideally we'd like to constrain this Element to be the same
52+
// as CollectionType.Iterator.Element (see below), but we have no way of
53+
// expressing it today.
5454
typealias _Element
5555

5656
/// Returns the element at the given `position`.
@@ -70,19 +70,8 @@ public protocol MutableIndexable {
7070
subscript(position: Index) -> _Element {get set}
7171
}
7272

73-
/// An *iterator* for an arbitrary *collection*. Provided `C`
74-
/// conforms to the other requirements of `Indexable`,
75-
/// `IndexingGenerator<C>` can be used as the result of `C`'s
76-
/// `iterator()` method. For example:
77-
///
78-
/// struct MyCollection : CollectionType {
79-
/// struct Index : ForwardIndexType { /* implementation hidden */ }
80-
/// subscript(i: Index) -> MyElement { /* implementation hidden */ }
81-
/// func iterator() -> IndexingGenerator<MyCollection> { // <===
82-
/// return IndexingGenerator(self)
83-
/// }
84-
/// }
85-
public struct IndexingGenerator<Elements : Indexable>
73+
/// The iterator used for collections that don't specify one.
74+
public struct CollectionDefaultIterator<Elements : Indexable>
8675
: IteratorProtocol, SequenceType {
8776

8877
/// Create a *iterator* over the given collection.
@@ -123,13 +112,13 @@ public protocol CollectionType : Indexable, SequenceType {
123112
/// encapsulates its iteration state.
124113
///
125114
/// By default, a `CollectionType` satisfies `SequenceType` by
126-
/// supplying an `IndexingGenerator` as its associated `Iterator`
115+
/// supplying a `CollectionDefaultIterator` as its associated `Iterator`
127116
/// type.
128-
typealias Iterator : IteratorProtocol = IndexingGenerator<Self>
117+
typealias Iterator : IteratorProtocol = CollectionDefaultIterator<Self>
129118

130119
// FIXME: Needed here so that the Iterator is properly deduced from
131120
// a custom iterator() function. Otherwise we get an
132-
// IndexingGenerator. <rdar://problem/21539115>
121+
// CollectionDefaultIterator. <rdar://problem/21539115>
133122
func iterator() -> Iterator
134123

135124
// FIXME: should be constrained to CollectionType
@@ -197,10 +186,10 @@ public protocol CollectionType : Indexable, SequenceType {
197186

198187
/// Supply the default `iterator()` method for `CollectionType` models
199188
/// that accept the default associated `Iterator`,
200-
/// `IndexingGenerator<Self>`.
201-
extension CollectionType where Iterator == IndexingGenerator<Self> {
202-
public func iterator() -> IndexingGenerator<Self> {
203-
return IndexingGenerator(self)
189+
/// `CollectionDefaultIterator<Self>`.
190+
extension CollectionType where Iterator == CollectionDefaultIterator<Self> {
191+
public func iterator() -> CollectionDefaultIterator<Self> {
192+
return CollectionDefaultIterator(self)
204193
}
205194
}
206195

‎stdlib/public/core/Reverse.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public struct ReverseCollection<
155155

156156
/// A type that provides the *sequence*'s iteration interface and
157157
/// encapsulates its iteration state.
158-
public typealias Iterator = IndexingGenerator<ReverseCollection>
158+
public typealias Iterator = CollectionDefaultIterator<ReverseCollection>
159159

160160
public let _base: Base
161161
}
@@ -185,7 +185,7 @@ public struct ReverseRandomAccessCollection<
185185

186186
/// A type that provides the *sequence*'s iteration interface and
187187
/// encapsulates its iteration state.
188-
public typealias Iterator = IndexingGenerator<
188+
public typealias Iterator = CollectionDefaultIterator<
189189
ReverseRandomAccessCollection
190190
>
191191

‎stdlib/public/core/StringUnicodeScalarView.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ extension String {
198198
let _ascii: Bool
199199
var _asciiBase: UnsafeBufferPointerIterator<UInt8>!
200200
var _base: UnsafeBufferPointerIterator<UInt16>!
201-
var _iterator: IndexingGenerator<_StringCore>!
201+
var _iterator: CollectionDefaultIterator<_StringCore>!
202202
}
203203

204204
/// Return an *iterator* over the `UnicodeScalar`s that comprise

‎test/1_stdlib/ArrayCore.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ struct MrMcRange : CollectionType {
6464
self.base = base
6565
}
6666

67-
func iterator() -> IndexingGenerator<MrMcRange> {
68-
return IndexingGenerator(self)
67+
func iterator() -> CollectionDefaultIterator<MrMcRange> {
68+
return CollectionDefaultIterator(self)
6969
}
7070

7171
var startIndex: Int {

‎test/1_stdlib/Collection.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ struct X : CollectionType {
1515
}
1616
subscript(i: Index) -> Element { return msg[i] }
1717

18-
func iterator() -> IndexingGenerator<X> {
19-
return IndexingGenerator(self)
18+
func iterator() -> CollectionDefaultIterator<X> {
19+
return CollectionDefaultIterator(self)
2020
}
2121
}
2222

‎test/1_stdlib/Sort.swift.gyb

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ class OffsetCollection : MutableCollectionType {
6868
get { return data[i - startIndex] }
6969
set { data[i - startIndex] = newValue }
7070
}
71-
func iterator() -> IndexingGenerator<[Int]> {
72-
return IndexingGenerator<[Int]>(data)
71+
func iterator() -> CollectionDefaultIterator<[Int]> {
72+
return CollectionDefaultIterator<[Int]>(data)
7373
}
7474
func toArray() -> [Int] {
7575
return data

‎test/Constraints/recursive_concrete_constraints.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ struct S<A: CollectionType where A.Index == Int> : CollectionType {
2121
return base[baseRange.startIndex + i]
2222
}
2323

24-
func iterator() -> IndexingGenerator<S> {
25-
return IndexingGenerator(self)
24+
func iterator() -> CollectionDefaultIterator<S> {
25+
return CollectionDefaultIterator(self)
2626
}
2727

2828
var base: A

‎test/Generics/deduction.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ func rangeOfIsBefore<
216216

217217
func callRangeOfIsBefore(ia: [Int], da: [Double]) {
218218
rangeOfIsBefore(ia.iterator())
219-
rangeOfIsBefore(da.iterator()) // expected-error{{cannot invoke 'rangeOfIsBefore' with an argument list of type '(IndexingGenerator<[Double]>)'}} expected-note{{expected an argument list of type '(R)'}}
219+
rangeOfIsBefore(da.iterator()) // expected-error{{cannot invoke 'rangeOfIsBefore' with an argument list of type '(CollectionDefaultIterator<[Double]>)'}} expected-note{{expected an argument list of type '(R)'}}
220220
}
221221

222222
//===----------------------------------------------------------------------===//

‎test/IDE/complete_from_stdlib.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func testArchetypeReplacement1<FOO : Equatable>(a: [FOO]) {
123123
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceMethod]/CurrNominal: append({#(newElement): Equatable#})[#Void#]{{; name=.+}}
124124
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceMethod]/CurrNominal: insert({#(newElement): Equatable#}, {#atIndex: Int#})[#Void#]{{; name=.+}}
125125
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceMethod]/CurrNominal: popLast()[#Equatable?#]{{; name=.+}}
126-
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceMethod]/Super: iterator()[#IndexingGenerator<[Equatable]>#]{{; name=.+}}
126+
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceMethod]/Super: iterator()[#CollectionDefaultIterator<[Equatable]>#]{{; name=.+}}
127127
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceVar]/Super: isEmpty[#Bool#]{{; name=.+}}
128128
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceVar]/Super: first[#Equatable?#]{{; name=.+}}
129129
// PRIVATE_NOMINAL_MEMBERS_5-DAG: Decl[InstanceMethod]/Super: dropFirst({#(n): Int#})[#ArraySlice<Equatable>#]{{; name=.+}}

‎test/NameBinding/reference-dependencies.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ struct Sentinel2 {}
362362
// CHECK-DAG: - !private ["V4main28OtherFileProtoNonImplementor", "deinit"]
363363
// CHECK-DAG: - !private ["Vs13EmptyIterator", "Element"]
364364
// CHECK-DAG: - !private ["Vs13EmptyIterator", "init"]
365-
// CHECK-DAG: - !private ["Vs17IndexingGenerator", "Element"]
365+
// CHECK-DAG: - !private ["Vs25CollectionDefaultIterator", "Element"]
366366
// CHECK-DAG: - ["O4main13OtherFileEnum", "Value"]
367367
// CHECK-DAG: - !private ["V4main20OtherFileEnumWrapper", "Enum"]
368368

@@ -401,7 +401,7 @@ struct Sentinel2 {}
401401
// CHECK-DAG: !private "V4main26OtherFileProtoImplementor2"
402402
// CHECK-DAG: !private "V4main28OtherFileProtoNonImplementor"
403403
// CHECK-DAG: !private "Vs13EmptyIterator"
404-
// CHECK-DAG: !private "Vs17IndexingGenerator"
404+
// CHECK-DAG: !private "Vs25CollectionDefaultIterator"
405405
// CHECK-DAG: - "O4main13OtherFileEnum"
406406
// CHECK-DAG: !private "V4main20OtherFileEnumWrapper"
407407
// CHECK-DAG: !private "V4main20OtherFileEnumWrapper"

‎test/Prototypes/MutableIndexableDict.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -416,8 +416,8 @@ struct Dictionary<Key: Hashable, Value> : CollectionType, SequenceType {
416416
}
417417

418418
// Satisfying SequenceType
419-
func iterator() -> IndexingGenerator<_Self> {
420-
return IndexingGenerator(self)
419+
func iterator() -> CollectionDefaultIterator<_Self> {
420+
return CollectionDefaultIterator(self)
421421
}
422422
}
423423

‎test/SIL/Parser/witness_with_inherited_gp.sil

+5-5
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ public struct _mmArrayBuffer<T> : CollectionType {
4343
public var startIndex: Int { get }
4444
public var endIndex: Int { get }
4545
public subscript(i: Int) -> T { get }
46-
public func iterator() -> IndexingGenerator<_mmArrayBuffer>
46+
public func iterator() -> CollectionDefaultIterator<_mmArrayBuffer>
4747
}
4848

4949
sil_witness_table <T> _mmArrayBuffer<T>: _Sequence_Type module WitnessTableWithGP {
5050
base_protocol _SequenceType: <T> _mmArrayBuffer<T>: _SequenceType module WitnessTableWithGP
51-
associated_type Generator: IndexingGenerator<_mmArrayBuffer<T>>
52-
associated_type_protocol (Generator: GeneratorType): IndexingGenerator<_mmArrayBuffer<T>>: specialize <C = _mmArrayBuffer<T>, C.Index = Int, C.Index.Distance = Int, C.Index.Distance.IntegerLiteralType = Int, C.Index._DisabledRangeIndex = Int, C._Element = T> (<C : _CollectionType> IndexingGenerator<C>: GeneratorType module Swift)
51+
associated_type Generator: CollectionDefaultIterator<_mmArrayBuffer<T>>
52+
associated_type_protocol (Generator: GeneratorType): CollectionDefaultIterator<_mmArrayBuffer<T>>: specialize <C = _mmArrayBuffer<T>, C.Index = Int, C.Index.Distance = Int, C.Index.Distance.IntegerLiteralType = Int, C.Index._DisabledRangeIndex = Int, C._Element = T> (<C : _CollectionType> CollectionDefaultIterator<C>: GeneratorType module Swift)
5353
}
5454

5555
// CHECK: sil_witness_table <T> _mmArrayBuffer<T>: _Sequence_Type module WitnessTableWithGP {
5656
// CHECK: base_protocol _SequenceType: <T> _mmArrayBuffer<T>: _SequenceType module WitnessTableWithGP
57-
// CHECK: associated_type Generator: IndexingGenerator<_mmArrayBuffer<T>>
58-
// CHECK: associated_type_protocol (Generator: GeneratorType): IndexingGenerator<_mmArrayBuffer<T>>: specialize <C = _mmArrayBuffer<T>, C.Index = Int, C.Index.Distance = Int, C.Index.Distance.IntegerLiteralType = Int, C.Index._DisabledRangeIndex = Int, C._Element = T> (<C where C : _CollectionType, C.Index : ForwardIndexType, C.Index.Distance : _SignedIntegerType, C.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> IndexingGenerator<C>: GeneratorType module Swift)
57+
// CHECK: associated_type Generator: CollectionDefaultIterator<_mmArrayBuffer<T>>
58+
// CHECK: associated_type_protocol (Generator: GeneratorType): CollectionDefaultIterator<_mmArrayBuffer<T>>: specialize <C = _mmArrayBuffer<T>, C.Index = Int, C.Index.Distance = Int, C.Index.Distance.IntegerLiteralType = Int, C.Index._DisabledRangeIndex = Int, C._Element = T> (<C where C : _CollectionType, C.Index : ForwardIndexType, C.Index.Distance : _SignedIntegerType, C.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> CollectionDefaultIterator<C>: GeneratorType module Swift)

‎test/SILGen/statements.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func for_loops1(x: Int, c: Bool) {
176176
// CHECK-LABEL: sil hidden @{{.*}}for_loops2
177177
func for_loops2() {
178178
// rdar://problem/19316670
179-
// CHECK: [[NEXT:%[0-9]+]] = function_ref @_TFVs17IndexingGenerator4next
179+
// CHECK: [[NEXT:%[0-9]+]] = function_ref @_TFVs25CollectionDefaultIterator4next
180180
// CHECK-NEXT: alloc_stack $Optional<MyClass>
181181
// CHECK-NEXT: apply [[NEXT]]<Array<MyClass>,
182182
// CHECK: class_method [[OBJ:%[0-9]+]] : $MyClass, #MyClass.foo!1

‎test/SILPasses/devirt_type_subst_bug.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//
55
// %168 = witness_method $Array<String>, #SequenceType."~>"!1 : $@convention(witness_method) <τ_0_0, τ_1_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType> (@out Optional<τ_1_0>, @in τ_0_0, _PreprocessingPass, @owned @callee_owned (@out τ_1_0, @in τ_0_0) -> (), @thick τ_0_0.Type) -> ()
66
// ...
7-
// %181 = apply %168<Array<String>, IndexingGenerator<Array<String>>, String, Int>(%166#1, %169#1, %180, %179, %167) : $@convention(witness_method) <τ_0_0, τ_1_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType> (@out Optional<τ_1_0>, @in τ_0_0, _PreprocessingPass, @owned @callee_owned (@out τ_1_0, @in τ_0_0) -> (), @thick τ_0_0.Type) -> ()
7+
// %181 = apply %168<Array<String>, CollectionDefaultIterator<Array<String>>, String, Int>(%166#1, %169#1, %180, %179, %167) : $@convention(witness_method) <τ_0_0, τ_1_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType> (@out Optional<τ_1_0>, @in τ_0_0, _PreprocessingPass, @owned @callee_owned (@out τ_1_0, @in τ_0_0) -> (), @thick τ_0_0.Type) -> ()
88
//
99
// rdar://17399536
1010
// rdar://17440222

‎test/Serialization/Inputs/inherited-conformance-user.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public struct OneToAThousand : CollectionType {
1717
return i.value
1818
}
1919

20-
public func iterator() -> IndexingGenerator<OneToAThousand> {
21-
return IndexingGenerator(self)
20+
public func iterator() -> CollectionDefaultIterator<OneToAThousand> {
21+
return CollectionDefaultIterator(self)
2222
}
2323

2424
public init() {}

‎validation-test/compiler_crashers_2_fixed/0018-rdar21524144.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ public protocol Indexable {
1010

1111
protocol CollectionType : Indexable, SequenceType {}
1212

13-
public struct IndexingGenerator<Elements : Indexable>
13+
public struct CollectionDefaultIterator<Elements : Indexable>
1414
: IteratorProtocol, SequenceType {
1515

16-
public func iterator() -> IndexingGenerator {
16+
public func iterator() -> CollectionDefaultIterator {
1717
return self
1818
}
1919

@@ -23,8 +23,8 @@ public struct IndexingGenerator<Elements : Indexable>
2323
}
2424

2525
extension SequenceType where Self : CollectionType {
26-
func iterator() -> IndexingGenerator<Self> {
27-
return IndexingGenerator(self)
26+
func iterator() -> CollectionDefaultIterator<Self> {
27+
return CollectionDefaultIterator(self)
2828
}
2929
}
3030

‎validation-test/stdlib/ArrayNew.swift.gyb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1593,8 +1593,8 @@ final class EvilCollection : CollectionType {
15931593
return TestValueTy(i)
15941594
}
15951595

1596-
func iterator() -> IndexingGenerator<EvilCollection> {
1597-
return IndexingGenerator(self)
1596+
func iterator() -> CollectionDefaultIterator<EvilCollection> {
1597+
return CollectionDefaultIterator(self)
15981598
}
15991599
}
16001600

‎validation-test/stdlib/CollectionType.swift.gyb

+2-2
Original file line numberDiff line numberDiff line change
@@ -415,15 +415,15 @@ CollectionTypeTests.test("CollectionType.iterator()/DefaultImplementation") {
415415
// Check the return type of the function when called statically.
416416
var generator = collection.iterator()
417417
expectType(
418-
IndexingGenerator<MinimalForwardCollectionWithDefaultIterator>.self,
418+
CollectionDefaultIterator<MinimalForwardCollectionWithDefaultIterator>.self,
419419
&generator)
420420
}
421421

422422
if true {
423423
// Check the return type of the function when called generically.
424424
var generator = callGenericGenerate(collection)
425425
expectType(
426-
IndexingGenerator<MinimalForwardCollectionWithDefaultIterator>.self,
426+
CollectionDefaultIterator<MinimalForwardCollectionWithDefaultIterator>.self,
427427
&generator)
428428
}
429429

‎validation-test/stdlib/SequenceType.swift.gyb

+4-4
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ SequenceTypeTests.test("IteratorSequence/IteratorProtocol/empty") {
164164
let base = data.iterator()
165165
var g = IteratorSequence(base)
166166
expectType(
167-
IteratorSequence<IndexingGenerator<Array<OpaqueValue<Int>>>>.self,
167+
IteratorSequence<CollectionDefaultIterator<Array<OpaqueValue<Int>>>>.self,
168168
&g)
169169
checkIterator(data, g) { $0.value == $1.value }
170170
}
@@ -185,7 +185,7 @@ SequenceTypeTests.test("IteratorSequence/IteratorProtocol") {
185185
let base = data.iterator()
186186
var g = IteratorSequence(base)
187187
expectType(
188-
IteratorSequence<IndexingGenerator<Array<OpaqueValue<Int>>>>.self,
188+
IteratorSequence<CollectionDefaultIterator<Array<OpaqueValue<Int>>>>.self,
189189
&g)
190190
checkIterator(data, g) { $0.value == $1.value }
191191
}
@@ -206,7 +206,7 @@ SequenceTypeTests.test("IteratorSequence/SequenceType/empty") {
206206
let base = data.iterator()
207207
var g = IteratorSequence(base)
208208
expectType(
209-
IteratorSequence<IndexingGenerator<Array<OpaqueValue<Int>>>>.self,
209+
IteratorSequence<CollectionDefaultIterator<Array<OpaqueValue<Int>>>>.self,
210210
&g)
211211
checkSequence(data, g) { $0.value == $1.value }
212212
}
@@ -227,7 +227,7 @@ SequenceTypeTests.test("IteratorSequence/SequenceType") {
227227
let base = data.iterator()
228228
var g = IteratorSequence(base)
229229
expectType(
230-
IteratorSequence<IndexingGenerator<Array<OpaqueValue<Int>>>>.self,
230+
IteratorSequence<CollectionDefaultIterator<Array<OpaqueValue<Int>>>>.self,
231231
&g)
232232
checkSequence(data, g) { $0.value == $1.value }
233233
}

‎validation-test/stdlib/Slice.swift.gyb

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ SliceTests.test("Slice/AssociatedTypes") {
2222
expectSliceType(${traversal}Slice.self)
2323
expectCollectionAssociatedTypes(
2424
collectionType: ${traversal}Slice.self,
25-
iteratorType: IndexingGenerator<${traversal}Slice>.self,
25+
iteratorType: CollectionDefaultIterator<${traversal}Slice>.self,
2626
subSequenceType: ${traversal}Slice.self,
2727
indexType: Minimal${traversal}Index.self)
2828
}
@@ -136,7 +136,7 @@ SliceTests.test("MutableSlice/AssociatedTypes") {
136136
expectMutableSliceType(${traversal}MutableSlice.self)
137137
expectCollectionAssociatedTypes(
138138
collectionType: ${traversal}MutableSlice.self,
139-
iteratorType: IndexingGenerator<${traversal}MutableSlice>.self,
139+
iteratorType: CollectionDefaultIterator<${traversal}MutableSlice>.self,
140140
subSequenceType: ${traversal}MutableSlice.self,
141141
indexType: Minimal${traversal}Index.self)
142142
}

0 commit comments

Comments
 (0)
Please sign in to comment.