This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients eric.smith, gvanrossum, ned.deily, steven.daprano
Date 2018-02-24.22:26:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAP7+vJK2J28roWbm+TX8W2BvcLJ3W7fCWJJDX_1eXa=uhC2srw@mail.gmail.com>
In-reply-to <1519494871.05.0.467229070634.issue32929@psf.upfronthosting.co.za>
Content
Sorry, I used imprecise language. What you propose is fine.

On Feb 24, 2018 09:54, "Eric V. Smith" <report@bugs.python.org> wrote:

>
> Eric V. Smith <eric@trueblade.com> added the comment:
>
> Note that this class (from the test suite) will now raise an exception:
>
>         @dataclass(unsafe_hash=True)
>         class C:
>             i: int
>             def __eq__(self, other):
>                 return self.i == other.i
>
> That's because it has a __hash__, added when __eq__ is defined. I think
> we're better off with the rule being:
>
> If unsafe_hash=True, raise an exception if __hash__ exists and is not
> None. Otherwise add __hash__.
>
> That's how it used to be with hash=True (in 3.70b1).
>
> Or is that what you meant by "but if a __hash__ method is present, an
> exception is raised"? Notice the word "method", instead of attribute.
>
> ----------
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <https://bugs.python.org/issue32929>
> _______________________________________
>
History
Date User Action Args
2018-02-24 22:26:57gvanrossumsetrecipients: + gvanrossum, eric.smith, ned.deily, steven.daprano
2018-02-24 22:26:57gvanrossumlinkissue32929 messages
2018-02-24 22:26:57gvanrossumcreate