diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index fdbddb77c84..0d8532ebb74 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -1182,7 +1182,7 @@ gth = get_type_hints class GetTypeHintTests(BaseTestCase): @skipUnless(PY36, 'Python 3.6 required') def test_get_type_hints_modules(self): - self.assertEqual(gth(ann_module), {'x': int, 'y': str}) + self.assertEqual(gth(ann_module), {1: 2, 'f': Tuple[int, int], 'x': int, 'y': str}) self.assertEqual(gth(ann_module2), {}) self.assertEqual(gth(ann_module3), {}) diff --git a/Lib/typing.py b/Lib/typing.py index 57616934018..261da5d5e2f 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -894,7 +894,7 @@ def _replace_arg(arg, tvars, args): return arg._subs_repr(tvars, args) if isinstance(arg, TypeVar): for i, tvar in enumerate(tvars): - if arg.__name__ == tvar.__name__: + if arg == tvar: return args[i] return _type_repr(arg) @@ -1322,10 +1322,6 @@ if sys.version_info[:2] >= (3, 3): hints = obj.__annotations__ except AttributeError: return {} - # we keep only those annotations that can be accessed on module - members = obj.__dict__ - hints = {name: value for name, value in hints.items() - if name in members} for name, value in hints.items(): if value is None: value = type(None)