Message294389
We have __slots__ with other ABC's, see http://bugs.python.org/issue11333 and http://bugs.python.org/issue21421.
There are no downsides to having empty slots on a non-instantiable class, but it does give the option of denying __dict__ creation for subclassers.
The possibility of breaking is for someone using __slots__ but relying on __dict__ creation in a subclass - they will have to explicitly add "__dict__" to __slots__. Since we have added __slots__ to other ABC's,
I will provide a PR soon on this. Diff should look like this (in Lib/abc.py):
class ABC(metaclass=ABCMeta):
"""Helper class that provides a standard way to create an ABC using
inheritance.
"""
- pass
+ __slots__ = ()
(I also want to add a test for this, and ensure other ABC's also have this if they don't.) |
|
Date |
User |
Action |
Args |
2017-05-24 20:41:17 | Aaron Hall | set | recipients:
+ Aaron Hall |
2017-05-24 20:41:17 | Aaron Hall | set | messageid: <1495658477.95.0.988068330571.issue30463@psf.upfronthosting.co.za> |
2017-05-24 20:41:17 | Aaron Hall | link | issue30463 messages |
2017-05-24 20:41:17 | Aaron Hall | create | |
|