Merged revisions 66144 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r66144 | nick.coghlan | 2008-09-02 20:14:47 +1000 (Tue, 02 Sep 2008) | 1 line

  Issue 3747: Fix caching in ABCMeta.__subclasscheck__ (R: Georg Brandl)
........
This commit is contained in:
Nick Coghlan 2008-09-02 10:43:28 +00:00
parent 407798595d
commit 33794a7bc7
1 changed files with 2 additions and 2 deletions

View File

@ -159,12 +159,12 @@ class ABCMeta(type):
# Check if it's a subclass of a registered class (recursive)
for rcls in cls._abc_registry:
if issubclass(subclass, rcls):
cls._abc_registry.add(subclass)
cls._abc_cache.add(subclass)
return True
# Check if it's a subclass of a subclass (recursive)
for scls in cls.__subclasses__():
if issubclass(subclass, scls):
cls._abc_registry.add(subclass)
cls._abc_cache.add(subclass)
return True
# No dice; update negative cache
cls._abc_negative_cache.add(subclass)