> On Dec 10, 2017, at 1:37 PM, Eric V. Smith <[email protected]> wrote:
>
> On 12/10/2017 4:29 PM, Ivan Levkivskyi wrote:
>> On 10 December 2017 at 22:24, Raymond Hettinger
>> <[email protected]<mailto:[email protected]>> wrote:
>> Without typing (only the first currently works):
>> Point = namedtuple('Point', ['x', 'y', 'z']) #
>> underlying store is a tuple
>> Point = make_dataclass('Point', ['x', 'y', 'z']) #
>> underlying store is an instance dict
>> Hm, I think this is a bug in implementation. The second form should also
>> work.
>
> Agreed.
>
> I have a bunch of pending changes for dataclasses. I'll add this.
>
> Eric.
Thanks Eric and Ivan. You're both very responsive. I appreciate the enormous
efforts you're putting in to getting this right.
I suggest two other fix-ups:
1) Let make_dataclass() pass through keyword arguments to _process_class(), so
that this will work:
Point = make_dataclass('Point', ['x', 'y', 'z'], order=True)
2) Change the default value for "hash" from "None" to "False". This might take
a little effort because there is currently an oddity where setting hash=False
causes it to be hashable. I'm pretty sure this wasn't intended ;-)
Raymond
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com