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.


On Mon, May 15, 2017 at 17:21 Tony Allevato via swift-evolution <
swift-evolution@swift.org> wrote:

> Yes—the PR of the proposal is here:
> https://github.com/apple/swift-evolution/pull/706
>
> It needs to be updated slightly—I'll remove the references to the
> "multiplicative hash function" 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't need to state
> anything about the hash function used, and its entirely an implementation
> detail.)
>
>
> On Mon, May 15, 2017 at 3:18 PM Andrew Bennett <cac...@gmail.com> wrote:
>
>> Nice work Tony! Is this proposal up for PR on swift-evolution as well?
>>
>> On Tue, 16 May 2017 at 7:30 am, Tony Allevato <tony.allev...@gmail.com>
>> wrote:
>>
>>> Just to update everyone on the thread—it took a little longer than I'd
>>> hoped to get the kinks out, but I finally have the implementation up as a
>>> PR: https://github.com/apple/swift/pull/9619
>>>
>>> Hopefully there's still enough time to get the proposal reviewed, make
>>> any changes needed, and get this into Swift 4!
>>>
>>>
>>> On Tue, May 9, 2017 at 10:27 PM Brent Royal-Gordon <
>>> br...@architechies.com> wrote:
>>>
>>>> On May 9, 2017, at 3:53 PM, Tony Allevato via swift-evolution <
>>>> swift-evolution@swift.org> wrote:
>>>>
>>>> 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. :)
>>>>
>>>>
>>>> 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.
>>>>
>>>> --
>>>> Brent Royal-Gordon
>>>> Architechies
>>>>
>>>> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to