<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 Mar 16, 2016, at 5:27 PM, Alex Martini via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">To help keep proposals moving forward, the Swift core team has set aside some time specifically for design discussions of upcoming proposals. &nbsp;Below are some rough notes from the yesterday's discussion.<br class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""><br class=""></div><div class="">These are <i class="">informal</i> comments, intended to guide the proposals in directions that draw constructive feedback. You are welcome to ignore the feedback, agree with it, or disagree with it. &nbsp;As always, the formal decision doesn't happen until after the review period ends.</div><div class=""><br class=""></div><div class=""><div class="section" id="se-0043" style="color: rgb(51, 51, 51); font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;"><div class=""><div class="section" id="se-0048"><h3 style="font-size: 1.1em; font-weight: normal; color: rgb(12, 55, 98); margin-top: 30px;" class="">SE-0048<a class="headerlink" href="file:///Users/alexmartini/DevPubs%20Git%20Repositories/Swift%20Language%20Review/_build/html/LR_MeetingNotes/MeetingNotes-03-15-2016.html#se-0048" title="Permalink to this headline" style="visibility: hidden; font-weight: bold; text-decoration: none; color: rgb(167, 206, 56); padding-left: 5px;"></a></h3><p style="text-align: justify;" class="">This is straightforward and 95% implemented. The contentious point is that it starts simple: you can’t add constraints to the type alias.</p><p style="text-align: justify;" class="">We want to avoid type-based metaprogramming.</p><p style="text-align: justify;" class="">Unclear if this would work:</p><div class="highlight-python"><pre style="overflow-x: auto; overflow-y: hidden; border: thin dotted rgb(12, 55, 98); margin-top: 0px; margin-bottom: 12px; padding: 0.8em; background-color: rgb(240, 240, 240);" class="">typealias StringDictionary&lt;T&gt; = Dictionary&lt;String, T&gt;</pre></div><p style="text-align: justify;" class="">It need to infer that&nbsp;<tt class="literal docutils" style="background-color: rgb(226, 226, 226); font-size: 1em;"><span class="pre">T</span></tt>&nbsp;must be hashable. Maybe it’s only 85% implemented.</p><div class=""><br class=""></div></div></div></div></div></div></div></div></div></div></blockquote><br class=""></div><div>Clarification here: the example is</div><div><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div><font face="Menlo" class="">typealias DictionaryToStrings&lt;T&gt; = Dictionary&lt;T, String&gt;</font></div></blockquote><div><br class=""></div><div>Either we infer T to require Hashable, or we call this ill-formed and require the user to write</div><div><br class=""></div><div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div><font face="Menlo" class="">typealias DictionaryToStrings&lt;T: Hashable&gt; = Dictionary&lt;T, String&gt;</font></div><div class=""><font face="Menlo" class=""><br class=""></font></div></blockquote></div><div><br class=""></div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>- Doug</div><br class=""></body></html>