Armin Rigo added the comment:
FWIW ``bool(Null())`` gives "correctly" the result False in CPython 3.5.
The problem in my opinion is that "!Py_TPFLAGS_BASETYPE" is checked only on the
best base instead of on all bases. It lets this kind of nonsense pass through.
In CPython 2.7 (but not 3.5) the following example also works (and is equally
nonsense):
class A(int): pass
class Bogus(A, bool): pass
Although we're subclassing NoneType or bool, I did not manage to get a CPython
crash from any of these examples.
----------
nosy: +arigo
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue24806>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com