<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 31, 2016, at 3:39 PM, Austin Zheng &lt;<a href="mailto:austinzheng@gmail.com" class="">austinzheng@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: 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;" class="">(inline)<br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, May 31, 2016 at 1:34 PM, Matthew Johnson<span class="Apple-converted-space">&nbsp;</span><span dir="ltr" class="">&lt;<a href="mailto:matthew@anandabits.com" target="_blank" class="">matthew@anandabits.com</a>&gt;</span><span class="Apple-converted-space">&nbsp;</span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On May 31, 2016, at 3:25 PM, Austin Zheng &lt;<a href="mailto:austinzheng@gmail.com" target="_blank" class="">austinzheng@gmail.com</a>&gt; wrote:</div><br class=""><div class=""><div dir="ltr" class="">I have a proposal for #6 in the pipe, but there are actually some subtleties I have to work out (it's not as simple as just slapping a generic type signature on a let constant).</div></div></blockquote><div class=""><br class=""></div></span><div class="">Cool.&nbsp; Looking forward to reviewing a draft when it’s ready.</div><span class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">I think #5 is just considered a 'bug' and doesn't need a proposal (it might actually be finished already; I saw some commits recently); same with #4. #7 is not very useful without variadic generics (it pretty much exists to allow tuples to conform to protocols, and tuples are inherently variadic).</div><div class=""><br class=""></div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Good to know 4 and 5 are considered bugs.&nbsp; I know #4 is important for the standard library so I suppose that will ensure it is a priority soon enough.</div><div class=""><br class=""></div><div class="">I included #7 because it would still be nice to have for a number of reasons.&nbsp; Maybe there is a way to pull it off for a handful of types that are known to the compiler.</div><span class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">I wanted to take a stab at #2.<span class="Apple-converted-space">&nbsp;</span></div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Are you still thinking about this one or did you decide not to pursue it?</div></div></div></blockquote><div class=""><br class=""></div><div class="">I think I'd like to try writing something up.<br class=""></div><div class="">&nbsp;</div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><span class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">The core team has talked so much about #1 that I'd be surprised if they don't already have an idea as to how they want to do it, plus it's complicated for a number of reasons to get right. In such a case having the community push forward an alternate proposal would just be giving everyone more unneeded work.</div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Agree here as well.&nbsp; I’ve avoided generics proposals mostly because I thought the core team was leading the charge on all them.&nbsp; It now appears like that may not have been the right assumption across the board.&nbsp; I wish we had a bit more visibility on this...</div></div></div></blockquote><div class=""><br class=""></div><div class="">Yes, same. I'm going off this bullet point at the beginning of the generics manifesto:</div><div class=""><br class=""></div><div class="">"I hope to achieve several things: ... Engage more of the community in discussions of specific generics features, so we can coalesce around designs for public review. And maybe even get some of them implemented."</div><div class="">&nbsp;</div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><span class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">#3 seems semantically straightforward. AFAIK there's nothing a subscript can do that a getter and setter method can't do together, and methods can already be generic. A proposal shouldn't be hard to put together.</div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Agree.&nbsp; Someone just needs to jump in and write it up. &nbsp;:-) &nbsp;If it had a chance of making it into Swift 3 I would do it right away, but it’s hard to tell...</div></div></div></blockquote><div class=""><br class=""></div><div class="">I'd be happy to write up a proposal, especially if it's as straightforward as it seems.</div></div></div></div></div></blockquote><br class=""></div><div>Cool! &nbsp;I’ll continue to play the role of providing as much feedback as I can… &nbsp;:-)</div><div><br class=""></div><br class=""></body></html>