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.