diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 6e2a2b1978ab40..2bb5d61068a78c 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -2862,6 +2862,8 @@ def fun(x: a): def test_forward_repr(self): self.assertEqual(repr(List['int']), "typing.List[ForwardRef('int')]") + self.assertEqual(repr(List[ForwardRef('int', module='mod')]), + "typing.List[ForwardRef('int', module='mod')]") def test_union_forward(self): diff --git a/Lib/typing.py b/Lib/typing.py index 1de48cca00d84c..4a8bdf8132861e 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -779,7 +779,11 @@ def __ror__(self, other): return Union[other, self] def __repr__(self): - return f'ForwardRef({self.__forward_arg__!r})' + if self.__forward_module__ is None: + module_repr = '' + else: + module_repr = f', module={self.__forward_module__!r}' + return f'ForwardRef({self.__forward_arg__!r}{module_repr})' class _TypeVarLike: """Mixin for TypeVar-like types (TypeVar and ParamSpec).""" diff --git a/Misc/NEWS.d/next/Library/2022-02-11-20-01-49.bpo-46333.PMTBY9.rst b/Misc/NEWS.d/next/Library/2022-02-11-20-01-49.bpo-46333.PMTBY9.rst new file mode 100644 index 00000000000000..669217e25f789d --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-02-11-20-01-49.bpo-46333.PMTBY9.rst @@ -0,0 +1,3 @@ +The :meth:`__repr__` method of :class:`typing.ForwardRef` now +includes the ``module`` parameter of :class:`typing.ForwardRef` +when it is set. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy