<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
Actually, I just realized that your solution isn't at all what I'm after.<div><br /></div><div>Doing &quot;extension Array&lt;Double&gt;&quot; is not the same thing and wouldn't be just a &quot;syntactic sugar&quot; for the code you came up with.<div><br /></div><div>Why? Because in your code, the extension method only knows that the array's Element is a DoubleProtocol. It doesn't know it's a *Double* (which is what I want it to be). As such, it won't have access to Double's methods and such.</div><div><br /></div><div>This is probably okay for Doubles, but for other types, especially my own custom types with their own methods, the difference is huge. &quot;extension Array&lt;MyStructType&gt;&quot; is what I want, but your solution won't help me if the extension method needs access to MyStructType's methods.</div><div><br /></div><div>See what I mean, or am I missing something here?<br /><br />
--
<br />
Securely sent with Tutanota. Claim your encrypted mailbox today!
<br />
<a href="https://tutanota.com" target="_blank">https://tutanota.com</a><br /><br />7. Dec 2015 13:14 by <a href="mailto:krzysztof@siejkowski.net" target="_blank">krzysztof@siejkowski.net</a>:<br /><br /><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div id="bloop_customfont" style="font-family: &quot;helvetica&quot; , &quot;arial&quot; ; font-size: 13px ; color: rgba( 0 , 0 , 0 , 1.0 ) ; margin: 0px">Concerning extension constraining, it’s already doable with:</div><div id="bloop_customfont" style="font-family: &quot;helvetica&quot; , &quot;arial&quot; ; font-size: 13px ; color: rgba( 0 , 0 , 0 , 1.0 ) ; margin: 0px"><br /></div><div id="bloop_customfont" style="font-family: &quot;helvetica&quot; , &quot;arial&quot; ; font-size: 13px ; color: rgba( 0 , 0 , 0 , 1.0 ) ; margin: 0px">```</div><div id="bloop_customfont" style="margin: 0px"><div id="bloop_customfont" style="margin: 0px">protocol DoubleProtocol {}</div><div id="bloop_customfont" style="margin: 0px"><br /></div><div id="bloop_customfont" style="margin: 0px">extension Double :&nbsp;DoubleProtocol&nbsp;{}</div><div id="bloop_customfont" style="margin: 0px"><br /></div><div id="bloop_customfont" style="margin: 0px">extension Array where Element :&nbsp;DoubleProtocol&nbsp;{</div><div id="bloop_customfont" style="margin: 0px">&nbsp; &nbsp; func onlyForDoubles() -&gt; String {</div><div id="bloop_customfont" style="margin: 0px">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return &quot;hello doubles!&quot;</div><div id="bloop_customfont" style="margin: 0px">&nbsp; &nbsp; }</div><div id="bloop_customfont" style="margin: 0px">}</div><div id="bloop_customfont" style="margin: 0px"><br /></div><div id="bloop_customfont" style="margin: 0px">[1.2].onlyForDoubles() // „hello doubles!”</div><div id="bloop_customfont" style="margin: 0px">[&quot;a&quot;].onlyForDoubles() // error: type of expression is ambiguous without more context</div><div id="bloop_customfont" style="margin: 0px">```</div><div id="bloop_customfont" style="margin: 0px"><br /></div><div id="bloop_customfont" style="margin: 0px">However, I personally like the idea of making a syntactic sugar for that case.</div><div id="bloop_customfont" style="margin: 0px"><br /></div><div id="bloop_customfont" style="margin: 0px">All the best,</div><div id="bloop_customfont" style="margin: 0px">Krzysztof</div></div> <br /> <div id="bloop_sign_1449489930156427776" class="bloop_sign"></div> <br /><p class="airmail_on">On 7 December 2015 at 13:01:11, Krzysztof Siejkowski (<a href="mailto:krzysztof@siejkowski.net" target="_blank">krzysztof@siejkowski.net</a>) wrote:</p> <blockquote class="thunderbird_quote" style="border-left: 1px solid #93a3b8 ; padding-left: 10px ; margin-left: 5px"><div style="word-wrap: break-word"><div></div><div>




</div></div></blockquote>



<div id="bloop_customfont" style="font-family: &quot;helvetica&quot; , &quot;arial&quot; ; font-size: 13px ; color: rgba( 0 , 0 , 0 , 1.0 ) ; margin: 0px">
Concerning generic typealiases, the topic is already being
discussed in „Generic `typealias`s” thread:&nbsp;<a href="https://lists.swift.org/pipermail/swift-evolution/2015-December/000132.html" target="_blank">https://lists.swift.org/pipermail/swift-evolution/2015-December/000132.html</a>.
The core Swift team approves:</div>
<div id="bloop_sign_1449489099373719808" class="bloop_sign">
<div id="bloop_customfont" style="margin: 0px"><br /></div>
<div id="bloop_customfont" style="margin: 0px">
&gt;&nbsp;<span style="white-space: pre-wrap">Yes, this is
definitely something that I (at least) would like to see. Patches
welcome :-)</span></div>
<div id="bloop_customfont" style="margin: 0px">&gt; Chris
(Lattner)</div>
<div id="bloop_customfont" style="margin: 0px"><br /></div>
<div id="bloop_customfont" style="margin: 0px">All the best,</div>
<div>Krzysztof</div>
<div><br /></div>
</div>
<p class="airmail_on">On 7 December 2015 at 12:41:05, Tuur Anton
via swift-evolution (<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>)
wrote:</p>
<blockquote class="thunderbird_quote" style="border-left: 1px solid #93a3b8 ; padding-left: 10px ; margin-left: 5px">
<div>
<div>
<div>Can you please add these features in Swift
3?</div>
<div><br /></div>
<div>1. The ability to do this:</div>
<div>extension Array&lt;Double&gt; {</div>
<div>&nbsp; &nbsp; //extend arrays of doubles</div>
<div>}</div>
<div><br /></div>
<div>2. Generic typealiases:</div>
<div>struct Foo&lt;T,V&gt; {</div>
<div>&nbsp; &nbsp; let t: T</div>
<div>&nbsp; &nbsp; let v: V</div>
<div>}</div>
<div>typealias IntFoo&lt;V&gt; = Foo&lt;Int,V&gt; //Error in
Swift 2.1</div>
<img src="graphics/ion-alert-circled.svg" alt="" width="1" height="1" border="0" style="height: 1px ; width: 1px ; border-width: 0 ; margin-top: 0 ; margin-bottom: 0 ; margin-right: 0 ; margin-left: 0 ; padding-top: 0 ; padding-bottom: 0 ; padding-right: 0 ; padding-left: 0" />
_______________________________________________<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>
</div>
</blockquote>


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