mirror of
https://github.com/python/cpython.git
synced 2025-08-25 11:15:02 +00:00
gh-95987: Fix repr
of Any
type subclasses (#96412)
This commit is contained in:
parent
6d791a9736
commit
4217393aee
3 changed files with 10 additions and 1 deletions
|
@ -113,6 +113,12 @@ class AnyTests(BaseTestCase):
|
||||||
def test_repr(self):
|
def test_repr(self):
|
||||||
self.assertEqual(repr(Any), 'typing.Any')
|
self.assertEqual(repr(Any), 'typing.Any')
|
||||||
|
|
||||||
|
class Sub(Any): pass
|
||||||
|
self.assertEqual(
|
||||||
|
repr(Sub),
|
||||||
|
"<class 'test.test_typing.AnyTests.test_repr.<locals>.Sub'>",
|
||||||
|
)
|
||||||
|
|
||||||
def test_errors(self):
|
def test_errors(self):
|
||||||
with self.assertRaises(TypeError):
|
with self.assertRaises(TypeError):
|
||||||
issubclass(42, Any)
|
issubclass(42, Any)
|
||||||
|
|
|
@ -493,7 +493,9 @@ class _AnyMeta(type):
|
||||||
return super().__instancecheck__(obj)
|
return super().__instancecheck__(obj)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "typing.Any"
|
if self is Any:
|
||||||
|
return "typing.Any"
|
||||||
|
return super().__repr__() # respect to subclasses
|
||||||
|
|
||||||
|
|
||||||
class Any(metaclass=_AnyMeta):
|
class Any(metaclass=_AnyMeta):
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fix ``repr`` of ``Any`` subclasses.
|
Loading…
Add table
Add a link
Reference in a new issue