keep UserDict an old-style class
Be generous in abc.py to allow this.
diff --git a/Lib/abc.py b/Lib/abc.py
index c37ed8f..515ba08 100644
--- a/Lib/abc.py
+++ b/Lib/abc.py
@@ -3,6 +3,8 @@
"""Abstract Base Classes (ABCs) according to PEP 3119."""
+import types
+
# Instance of old-style class
class _C: pass
@@ -101,7 +103,7 @@
def register(cls, subclass):
"""Register a virtual subclass of an ABC."""
- if not isinstance(subclass, type):
+ if not isinstance(subclass, (type, types.ClassType)):
raise TypeError("Can only register classes")
if issubclass(subclass, cls):
return # Already a subclass