diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index fe077969..e27b0bf7 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -595,7 +595,8 @@ class Script(object): nested_resolve=True).follow() if stmt.is_nested() and any(not isinstance(i, pr.Module) for i in imps): analysis.add(self._evaluator, 'import-error', stmt) - else: + elif not (isinstance(stmt.parent, pr.ForFlow) + and stmt.parent.set_stmt == stmt): self._evaluator.eval_statement(stmt) ana = [a for a in self._evaluator.analysis if self.path == a.path] diff --git a/test/static_analysis/attribute_error.py b/test/static_analysis/attribute_error.py index d010c7e6..3061502a 100644 --- a/test/static_analysis/attribute_error.py +++ b/test/static_analysis/attribute_error.py @@ -43,3 +43,10 @@ c.something = None #! name-error something = a something + + +# should not raise anything. +for loop_variable in [1, 2]: + #! name-error + x = undefined + loop_variable