New submission from Roger Gammans <[email protected]>:
The following sequence causes isinstance to raise an exception rather than to
return False.
>>> class foo:
... pass
...
>>> import collections
>>> isinstance(foo,collections.Callable)
True
>>> isinstance(foo(),collections.Callable)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/abc.py", line 131, in __instancecheck__
return (cls.__subclasscheck__(subclass) or
File "/usr/lib/python2.6/abc.py", line 147, in __subclasscheck__
ok = cls.__subclasshook__(subclass)
File "/usr/lib/python2.6/_abcoll.py", line 117, in __subclasshook__
if any("__call__" in B.__dict__ for B in C.__mro__):
AttributeError: class foo has no attribute '__mro__'
>>>
----------
components: Library (Lib)
messages: 97175
nosy: rgammans
severity: normal
status: open
title: isinstance(... ,collections.Callable) fails with oldstyle class i
nstances
versions: Python 2.6
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue7624>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com