1
0
forked from VimPlug/jedi

Attempt to improve tuple unpackings

This commit is contained in:
Dave Halter
2026-04-29 23:10:31 +02:00
parent 0d79865a0f
commit be993d132e
3 changed files with 18 additions and 7 deletions
+6
View File
@@ -865,10 +865,16 @@ def check_tuple_assignments(name, value_set):
# For no star unpacking is not possible.
return NO_VALUES
i = 0
lazy_value = None
while i <= index:
try:
lazy_value = next(iterated)
except StopIteration:
# A desperate attempt to fix inference for tuples from an
# iterator.
if lazy_value is not None:
return lazy_value.infer()
# We could do this with the default param in next. But this
# would allow this loop to run for a very long time if the
# index number is high. Therefore break if the loop is
+3 -2
View File
@@ -155,8 +155,9 @@ class AbstractInstanceValue(Value):
return super().py__iter__(contextualized_node)
def iterate():
for generator in self.execute_function_slots(iter_slot_names):
yield from generator.py__next__(contextualized_node)
yield LazyKnownValues(
self.execute_function_slots(iter_slot_names).py__next__(contextualized_node).infer()
)
return iterate()
def __repr__(self):