From: Nick Coghlan Date: Tue, 2 Sep 2008 10:14:47 +0000 (+0000) Subject: Issue 3747: Fix caching in ABCMeta.__subclasscheck__ (R: Georg Brandl) X-Git-Tag: v2.6rc1~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91ae3ea2b46a6e61a2112ffc0d53941a39e121ff;p=thirdparty%2FPython%2Fcpython.git Issue 3747: Fix caching in ABCMeta.__subclasscheck__ (R: Georg Brandl) --- diff --git a/Lib/abc.py b/Lib/abc.py index 5e90bf5f1a2c..618a32cc7549 100644 --- a/Lib/abc.py +++ b/Lib/abc.py @@ -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)