On 02/06/2018 09:38 AM, Guido van Rossum wrote: > Where do you get the impression that one would have to explicitly request __hash__ if frozen=True is set? To the > contrary, my proposal is for @dataclass to automatically add a __hash__ method when frozen=True is set. This is what the > code currently released as 3.7.0b1 does if hash=None (the default). Which is my issue with the naming -- although, really, it's more with the parameter/argument: in a hand-written class, __hash__ = None means the object in is not hashable, but with the decorator: @dataclass(..., hash=None, ...) it means something else. My preference for "fixing" the issue: 1) make the default be a custom object (not None), so that `hash=None` means disable hashing 2) change the param name -- maybe to `add_hash` (I agree with D'Aprano that `unsafe_hash` can be misleading) -- ~Ethan~
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4