Amaury Forgeot d'Arc added the comment: __instancecheck__ is not only slower, it can also cause crashes:
import abc class MyABC: __metaclass__ = abc.ABCMeta __slots__ = ["a"] class Unrelated: pass MyABC.register(Unrelated) u=Unrelated() assert isinstance(u, MyABC) MyABC.a.__set__(u, 3) # Boom The patch I proposed above correctly raises the error: TypeError: descriptor 'a' for 'MyABC' objects doesn't apply to 'Unrelated' object __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2115> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com