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 AlexWaygood
Recipients AlexWaygood, trey
Date 2021-11-25.02:27:53
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1637807273.52.0.99915272989.issue45897@roundup.psfhosted.org>
In-reply-to
Content
This looks to be due to the fact that `slots=True` leads to the creation of an entirely new class (see line 1102), meaning that in the `super(cls, self)` calls in lines 611 and 618 (in the `_frozen_get_del_attr` function, responsible for generating `__setattr__` and `__delattr__` methods), `self` is no longer an instance of `cls`.

I believe this can be fixed by tweaking `_frozen_get_del_attr` so that `cls` in the generated `__setattr__` and `__delattr__` methods is dynamically computed (`cls = type(self)`), rather than read from a closure, as is currently the case.
History
Date User Action Args
2021-11-25 02:27:53AlexWaygoodsetrecipients: + AlexWaygood, trey
2021-11-25 02:27:53AlexWaygoodsetmessageid: <1637807273.52.0.99915272989.issue45897@roundup.psfhosted.org>
2021-11-25 02:27:53AlexWaygoodlinkissue45897 messages
2021-11-25 02:27:53AlexWaygoodcreate