mirror of
https://github.com/python/cpython
synced 2024-10-14 15:57:14 +00: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 @@ def __init__(self, type):
|
|||
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 @@ def test_init_var_preserve_type(self):
|
|||
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 a new issue