On Fri, Sep 27, 2019 at 11:18 AM Serhiy Storchaka <storch...@gmail.com>
wrote:

> I think it needs an explicit support in the type creation machinery (as
> __slots__ itself has) to support descriptors and slots with the same name.
>

That would be tough, since __slots__ is currently implemented by creating a
separate descriptor for each slot.

I do think that it would be nice to have a way to automatically create
__slots__ from annotations. It would be even nicer if that could be done
without copying the class object (as the current state of the art requires:
https://github.com/ericvsmith/dataclasses/blob/master/dataclass_tools.py#L23
).

Thinking aloud, perhaps this could be done by setting __slots__ to a
magical value, e.g.

class Point:
    __slots__ = "__auto__"
    x: float
    y: float

This would be independent from the @dataclass decorator (though the
decorator may have to be aware of the magic value).

If that's too wacky, we could also use a class keyword argument:

class Point(slots=True):
    x: float
    y: float

(Though arguably that's just as wacky. :-)

-- 
--Guido van Rossum (python.org/~guido)
*Pronouns: he/him **(why is my pronoun here?)*
<http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/3632QSWTPCQ34CJ3CRJH2DKGS26WG55O/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to