diff options
Diffstat (limited to 'pyflakes/checker.py')
-rw-r--r-- | pyflakes/checker.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/pyflakes/checker.py b/pyflakes/checker.py index 6fafe89..45c7a4a 100644 --- a/pyflakes/checker.py +++ b/pyflakes/checker.py @@ -720,6 +720,16 @@ def _is_typing_helper(node, is_name_match_fn, scope_stack): return False + def _module_scope_is_typing(name): + for scope in reversed(scope_stack): + if name in scope: + return ( + isinstance(scope[name], Importation) and + scope[name].fullName in TYPING_MODULES + ) + + return False + return ( ( isinstance(node, ast.Name) and @@ -727,7 +737,7 @@ def _is_typing_helper(node, is_name_match_fn, scope_stack): ) or ( isinstance(node, ast.Attribute) and isinstance(node.value, ast.Name) and - node.value.id in TYPING_MODULES and + _module_scope_is_typing(node.value.id) and is_name_match_fn(node.attr) ) ) |