<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">I ran into a problem while playing around with sequences that generate equally-partitioned sub-collections. (For example, have a collection of 15 elements; make it a collection of 5 elements instead, each a sub-collection of 3 original elements.) I recall the issue on StackOverflow at &lt;<a href="https://stackoverflow.com/q/48016960/1010226" class="">https://stackoverflow.com/q/48016960/1010226</a>&gt; (“Cannot conform to RandomAccessCollection due to Stride type”).</div><div class=""><br class=""></div><div class="">I could easily make a Collection and upgrade it to a BidirectionalCollection, but when I did the obvious upgrade to RandomAccessCollection, I got an error that C.IndexDistance type doesn’t conform to SignedInteger, although the type should be Int! A fix is to use a where-clause to fix IndexDistance as Int in advance.</div><div class=""><br class=""></div><div class="">Why would that work? And, from glancing over a 1.5-month e-mail backlog, IndexDistance has been retired to be hard-coded as Int. But that just hides the problem; either IndexDistance was under-specified, or there’s something deficient in Swift’s reverse-engineering of associated types. I want to be sure the last scenario isn’t the case, so we wouldn’t run into similar issues in the future.</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">—&nbsp;</div><div class="">Daryle Walker<br class="">Mac, Internet, and Video Game Junkie<br class="">darylew AT mac DOT com&nbsp;</div></div>
</div>
<br class=""></body></html>