bpo-45438: format of inspect.Signature with generic builtins (#29212)

Use types.GenericAlias in inspect.formatannotation to correctly add
type arguments of builtin types to the string representation of
Signatures.

Co-authored-by: Martin Rückl <martin.rueckl@codecentric.de>
This commit is contained in:
Martin Rueckl 2021-10-27 23:36:41 +02:00 committed by GitHub
parent 10bbd41ba8
commit d02ffd1b5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 0 deletions

View file

@ -3236,6 +3236,17 @@ class TestSignatureObject(unittest.TestCase):
pass
self.assertEqual(str(inspect.signature(foo)), '()')
def foo(a: list[str]) -> tuple[str, float]:
pass
self.assertEqual(str(inspect.signature(foo)),
'(a: list[str]) -> tuple[str, float]')
from typing import Tuple
def foo(a: list[str]) -> Tuple[str, float]:
pass
self.assertEqual(str(inspect.signature(foo)),
'(a: list[str]) -> Tuple[str, float]')
def test_signature_str_positional_only(self):
P = inspect.Parameter
S = inspect.Signature