diff --git a/jedi/evaluate/cache.py b/jedi/evaluate/cache.py index e40c5c8a..b44f812a 100644 --- a/jedi/evaluate/cache.py +++ b/jedi/evaluate/cache.py @@ -9,7 +9,7 @@ import inspect NO_DEFAULT = object() -def memoize_default(default=None, evaluator_is_first_arg=False, second_arg_is_evaluator=False): +def memoize_default(default=NO_DEFAULT, evaluator_is_first_arg=False, second_arg_is_evaluator=False): """ This is a typical memoization decorator, BUT there is one difference: To prevent recursion it sets defaults. diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index 45b6cdf9..90afbec8 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -265,7 +265,7 @@ def _name_to_types(evaluator, name, scope): types = [] typ = name.get_definition() if typ.isinstance(pr.ForStmt): - for_types = evaluator.eval_element(typ.children[-3]) + for_types = evaluator.eval_element(typ.children[3]) for_types = iterable.get_iterator_types(for_types) types += check_tuple_assignments(for_types, name) elif typ.isinstance(pr.CompFor): diff --git a/test/completion/basic.py b/test/completion/basic.py index b3063a2e..c84a0398 100644 --- a/test/completion/basic.py +++ b/test/completion/basic.py @@ -105,6 +105,13 @@ for i in b: #? float() str() a[0] +for i in [1,2,3]: + #? int() + i +else: + i + + # ----------------- # range() # -----------------