diff --git a/jedi/evaluate/context/iterable.py b/jedi/evaluate/context/iterable.py index 100b8da0..06a769b8 100644 --- a/jedi/evaluate/context/iterable.py +++ b/jedi/evaluate/context/iterable.py @@ -257,14 +257,19 @@ class DictComprehension(ComprehensionMixin, Sequence): @publish_method('items') def _imitate_items(self): - items = ContextSet.from_iterable( - FakeSequence( - self.evaluator, u'tuple' - (LazyKnownContexts(keys), LazyKnownContexts(values)) - ) for keys, values in self._iterate() - ) + lazy_contexts = [ + LazyKnownContext( + FakeSequence( + self.evaluator, + u'tuple', + [LazyKnownContexts(key), + LazyKnownContexts(value)] + ) + ) + for key, value in self._iterate() + ] - return create_evaluated_sequence_set(self.evaluator, items, sequence_type=u'list') + return ContextSet(FakeSequence(self.evaluator, u'list', lazy_contexts)) class GeneratorComprehension(ComprehensionMixin, GeneratorBase): diff --git a/test/completion/types.py b/test/completion/types.py index 8fd2c594..19621b29 100644 --- a/test/completion/types.py +++ b/test/completion/types.py @@ -91,6 +91,12 @@ d.items()[0][0] #? int() d.items()[0][1] +(a, b), = {a:1 for a in [1.0]}.items() +#? float() +a +#? int() +b + # ----------------- # tuples # -----------------