<div dir="ltr">I *think* that Joe is talking about when two protocols require mention of each other. This forms an odd cycle in the type system right now when you try to use it.<div><br></div><div>protocol SequenceType {</div><div>typealias Generator : GeneratorType</div><div>}</div><div><br></div><div>protocol GeneratorType {</div><div>typealias Sequence : SequenceType</div><div>}</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 14, 2015 at 5:47 PM, David Hart via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">I’ve had a few discussions about that with Joe and Rob Rix, where I understood less than I’d like to admit :) Joe recently said that the subject of type-erasure is probably not currently planned for Swift 3, but saying that:<div><br></div><div><i>@rob_rix @dhartbit Fixing cyclic assoc type references will give us the runtime support for those existentials, at least.</i><div><a href="https://twitter.com/jckarter/status/675322278675001344" target="_blank">https://twitter.com/jckarter/status/675322278675001344</a></div><div><br></div><div>If that makes sense to you.</div><div><br><div><blockquote type="cite"><div><div class="h5"><div>On 14 Dec 2015, at 23:24, Erica Sadun via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br></div></div><div><div><div class="h5"><div style="word-wrap:break-word"><div><div><blockquote type="cite"><div>Joe wrote: &quot;What changes would be necessary to the standard library to make the most of this feature? Some particular problems we&#39;d like to solve are to eliminate the need for the AnyGenerator/AnySequence/AnyCollection wrapper types, and to provide a solution for heterogeneous equality, so that protocols can inherit Equatable and Hashable without forfeiting the ability to be used dynamically. See Brent Simmons&#39; Swift diary posts at <a href="http://inessential.com/swiftdiary" target="_blank">http://inessential.com/swiftdiary</a> for an example of why the latter is important.&quot;</div></blockquote></div><div><div><div style="word-wrap:break-word"><div><br></div><div>Any advice for what could be done now in preparation for any changes that might happen and an estimate of when these types might be on the chopping block? Not 3.0, right? But 4.0? What are good ways to work around this now using current (and presumably stable) constructs?</div><div><br></div><div>Thanks, -- E</div><div><br></div></div></div></div></div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=nE9rxSXA5G4kxsTVkgv43hXwizS3O2z60WweqomIrdgMgwGEOrAzuc7QO0EZPs0SyypiWs198HfIRa7kk2RsRGWCjT5rZBlvNCfm2Ie1jdPti2XlaNB0zMqk1sgXge-2Ffqt1Cg6yS4meeakRZKJuBDgSW-2FATPYcYhNH5EkGblazqQBiTgft15NPqJiCDngUn8MazqmRTxv5Q6XPo20yzRwVd-2BCSe9rZCPbsnriTuMgm4-3D" alt="" width="1" height="1" border="0" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important">
</div></div></div>
_______________________________________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div></blockquote></div><br></div></div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=3FGfocPbgxkNkmje7djckg9Iw-2BGYY3X6RxJ1tkUXKCozzW0p1hcfr7x1KHlKqLamoyiWXgtN-2F-2F491PcAAnYFCRZYN1sNB1ALQCsszVRpLKAMy2yF1OlYTNhfEQg-2F6LGnKqZNwbaVTE-2F1S7R7eTPG9JewiHCUtB0-2BOaR5xPizY80E0p2Gck8v-2BuW1XJt5yZmgGrNV8QraySGhVY98q22T7B4PQIWFaKs1s6yBNLVlMMA-3D" alt="" width="1" height="1" border="0" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important">
</div>
<br>_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br></blockquote></div><br></div>