From 9a135dd08bb20ad672d774fd048a793b7358fe23 Mon Sep 17 00:00:00 2001 From: Pradeep Reddy Raamana Date: Thu, 22 Aug 2019 11:47:13 -0400 Subject: [PATCH] Less harsh usage of issubclass() --- Lib/_py_abc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/_py_abc.py b/Lib/_py_abc.py index c870ae9048b4f1..fa96de541d5c9e 100644 --- a/Lib/_py_abc.py +++ b/Lib/_py_abc.py @@ -1,5 +1,5 @@ from _weakrefset import WeakSet - +from warnings import warn def get_cache_token(): """Returns the current ABC cache token. @@ -108,7 +108,8 @@ def __instancecheck__(cls, instance): def __subclasscheck__(cls, subclass): """Override for issubclass(subclass, cls).""" if not isinstance(subclass, type): - raise TypeError('issubclass() arg 1 must be a class') + warn('issubclass() arg 1 is not a class. Returning False.') + return False # Check cache if subclass in cls._abc_cache: return True