<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><div>I assume you meant to use Any and not protocol above.</div></div></div></blockquote></div><p>No, I was wondering why Any&lt;Any, A&gt;&gt; would create a warning whereas protocol&lt;Any, A&gt; does not today.</p><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><div>They can all be interpreted, but:</div></div><div>- they provide multiple ways of expressing the same concept</div><div>- the additional uses of Any detract from code clarity</div><div>- it is possible (in the absence of an established design) that these syntaxes (particularly Any&lt;Any&lt;ProtocolA&gt;&gt;) might limit our ability to add existential types without either breaking existing code or adding special cases in the parser. I can go into more detail on my reasoning here, but that seems a diversion of this topic to do so.</div><div><br class=""></div><div>An example elsewhere in the language of otherwise valid code being rejected because the syntax is redundant:</div><div><br class=""></div><div>enum MyError:ErrorType, ErrorType {}</div><div><br class=""></div><div>I’m also specifically saying that the *syntax* should warn on the use of Any-within-Any. Code such as:</div><div><br class=""></div><div>typealias Foo = Any</div><div>typealias Bar = Any&lt;Foo, Sequence&gt;</div><div><br class=""></div><div>would be fine.</div><div><br class=""></div><div>-DW</div></div></blockquote></div></div> <div><br></div><div>And there I have my explanation to this. :)</div><br> <div id="bloop_sign_1463644453617981952" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">--&nbsp;<br>Adrian Zubarev<br>Sent with Airmail</div></div> <p class="airmail_on"><br></p><blockquote type="cite" class="clean_bq"><span><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div>


</div></div></span></blockquote></body></html>