Skip to content

Commit 45031df

Browse files
committed
Backmerge -r59233:59232
Guido said: Please roll this back. The error message you added is inappropriate when the parameter to a legitimate register() call is omitted, e.g. collections.Sequence.register()
1 parent 7d2ff88 commit 45031df

File tree

2 files changed

+1
-11
lines changed

2 files changed

+1
-11
lines changed

Lib/abc.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,8 @@ def __new__(mcls, name, bases, namespace):
137137
cls._abc_negative_cache_version = ABCMeta._abc_invalidation_counter
138138
return cls
139139

140-
def register(cls, subclass=None):
140+
def register(cls, subclass):
141141
"""Register a virtual subclass of an ABC."""
142-
if subclass is None:
143-
raise TypeError("register() cannot be called on an ABCMeta "
144-
"subclass, use class Example(metaclass=abc.ABCMeta) instead.")
145142
if not isinstance(cls, type):
146143
raise TypeError("Can only register classes")
147144
if issubclass(subclass, cls):

Lib/test/test_abc.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,6 @@ class C(A, B):
146146
C()
147147
self.assertEqual(B.counter, 1)
148148

149-
def test_error_on_subclass(self):
150-
class A(abc.ABCMeta):
151-
pass
152-
class B:
153-
pass
154-
self.assertRaises(TypeError, A.register, B)
155-
156149

157150
def test_main():
158151
test_support.run_unittest(TestABC)

0 commit comments

Comments
 (0)