mirror of
https://github.com/python/cpython.git
synced 2024-11-24 02:15:30 +08:00
bpo-45662: Fix the repr of InitVar with a type alias to the built-in class (GH-29291)
For example, InitVar[list[int]].
This commit is contained in:
parent
60c320c38e
commit
1fd4de5bdd
@ -229,7 +229,7 @@ class InitVar:
|
||||
self.type = type
|
||||
|
||||
def __repr__(self):
|
||||
if isinstance(self.type, type):
|
||||
if isinstance(self.type, type) and not isinstance(self.type, GenericAlias):
|
||||
type_name = self.type.__name__
|
||||
else:
|
||||
# typing objects, e.g. List[int]
|
||||
|
@ -1126,6 +1126,10 @@ class TestCase(unittest.TestCase):
|
||||
self.assertEqual(repr(InitVar[int]), 'dataclasses.InitVar[int]')
|
||||
self.assertEqual(repr(InitVar[List[int]]),
|
||||
'dataclasses.InitVar[typing.List[int]]')
|
||||
self.assertEqual(repr(InitVar[list[int]]),
|
||||
'dataclasses.InitVar[list[int]]')
|
||||
self.assertEqual(repr(InitVar[int|str]),
|
||||
'dataclasses.InitVar[int | str]')
|
||||
|
||||
def test_init_var_inheritance(self):
|
||||
# Note that this deliberately tests that a dataclass need not
|
||||
|
@ -0,0 +1,2 @@
|
||||
Fix the repr of :data:`dataclasses.InitVar` with a type alias to the
|
||||
built-in class, e.g. ``InitVar[list[int]]``.
|
Loading…
Reference in New Issue
Block a user