Two minor typing.py fixes (upstream #305)
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index fdbddb7..0d8532e 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -1182,7 +1182,7 @@
 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 5761693..261da5d 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -894,7 +894,7 @@
         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 @@
                 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)