<div>Oh, and to add, the details of hashing may not need to be fully written out, but it would be nice to mention that it will follow existing standard library practice--or, if not, then why, and also any implications related to hash collision security issues. Moreover, it may be worth mentioning that the synthesized method involves mixing the _hashes_ of members and not their memory representation--though it may seem obvious.</div><div><br></div><div><br><div class="gmail_quote"><div>On Mon, May 15, 2017 at 17:21 Tony Allevato via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Yes—the PR of the proposal is here: <a href="https://github.com/apple/swift-evolution/pull/706" target="_blank">https://github.com/apple/swift-evolution/pull/706</a><div><br></div><div>It needs to be updated slightly—I&#39;ll remove the references to the &quot;multiplicative hash function&quot; recommendation because I ended up using the existing _mixInt and xor, which is how the standard library implements its Collection hashValues. (The proposal probably really doesn&#39;t need to state anything about the hash function used, and its entirely an implementation detail.)</div><div><br></div></div><br><div class="gmail_quote"><div>On Mon, May 15, 2017 at 3:18 PM Andrew Bennett &lt;<a href="mailto:cacoyi@gmail.com" target="_blank">cacoyi@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Nice work Tony! Is this proposal up for PR on swift-evolution as well?</div></div><div><div><br><div class="gmail_quote"><div>On Tue, 16 May 2017 at 7:30 am, Tony Allevato &lt;<a href="mailto:tony.allevato@gmail.com" target="_blank">tony.allevato@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Just to update everyone on the thread—it took a little longer than I&#39;d hoped to get the kinks out, but I finally have the implementation up as a PR: <a href="https://github.com/apple/swift/pull/9619" target="_blank">https://github.com/apple/swift/pull/9619</a><div><br></div><div>Hopefully there&#39;s still enough time to get the proposal reviewed, make any changes needed, and get this into Swift 4!</div><div><br></div></div><br><div class="gmail_quote"><div>On Tue, May 9, 2017 at 10:27 PM Brent Royal-Gordon &lt;<a href="mailto:brent@architechies.com" target="_blank">brent@architechies.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><blockquote type="cite"><div>On May 9, 2017, at 3:53 PM, Tony Allevato via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_-7634931506526190142m_5760772590623056947m_-3114140352773685947m_5619269197906473925m_-7922117415000113549Apple-interchange-newline"><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Likewise, proposing a new public addition to the standard library would inspire far more design discussion than I believe we have time for if we want this to make Swift 4. :)</span></div></blockquote></div><div><br></div></div><div style="word-wrap:break-word"><div>Agreed. What I would do here is add an `_combineHashes` function (or `Hashable` extension method, or whatever is most convenient) to the standard library in Swift 4, have your compiler magic feature use it, and defer the name-and-interface discussion until Swift 5.</div></div><div style="word-wrap:break-word"><br><div>
<span class="m_-7634931506526190142m_5760772590623056947m_-3114140352773685947m_5619269197906473925m_-7922117415000113549Apple-style-span" style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div><div style="font-size:12px">-- </div><div style="font-size:12px">Brent Royal-Gordon</div><div style="font-size:12px">Architechies</div></div></span>

</div>
<br></div></blockquote></div>
</blockquote></div></div></div>
</blockquote></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" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div></div>