I thought if you define a Collection
type, but don't explicitly provide a Indices
type, the default will be DefaultIndices
. Instead, I got Range<Int>
, which is bad since it uses a spacing of 1, which my type doesn't use. Did some assumption change (that I didn't see browsing the source code)? Or is there some switch between DefaultIndices
and Range
, and I don't know how to override it?
Just added the RAC
conformance. Before, it was just a BidirectionalCollection
.
I just re-read the parts of "RandomAccessCollection.swift" that I usually ignore. I see the Range
override.
I'm not sure if it's changed, but the types associated with the stride
top-level functions could work, except they skip Collection
support.
I had to make a custom Indices
type. At least I moved the main index-iteration logic to that type, which the collection type indirectly uses.