Xiang Zhang added the comment: I think subclassing builtin types and making it abstract is rare. And when there is a need, we can mimic this in application level (this may also apply to types having custom __new__):
In [2]: class CustomDict(dict, metaclass=abc.ABCMeta): ...: def __new__(cls, *args, **kwargs): ...: if getattr(cls, '__abstractmethods__', None): ...: raise TypeError ...: return super().__new__(cls, *args, **kwargs) ...: @abc.abstractmethod ...: def f(self): ...: pass Adding the abstract class checking in tp_alloc or builtin types' tp_new maybe degrade performance. Is it necessary to add this support? ---------- nosy: +gvanrossum _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue5996> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com