Commit a07db9eb authored by Robert Bradshaw's avatar Robert Bradshaw

Fix bug #409 with temps and sequence unpacking.

parent 8d1b692a
......@@ -412,7 +412,7 @@ class ExprNode(Node):
def allocate_temp_result(self, code):
if self.temp_code:
raise RuntimeError("Temp allocated multiple times")
raise RuntimeError("Temp allocated multiple times in %r: %r" % (self.__class__.__name__, self.pos))
type = self.type
if not type.is_void:
if type.is_pyobject:
......
......@@ -924,7 +924,7 @@ def flatten_parallel_assignments(input, output):
# individual elements. This transformation is applied
# recursively, so that nested structures get matched as well.
rhs = input[-1]
if not rhs.is_sequence_constructor:
if not rhs.is_sequence_constructor or not sum(lhs.is_sequence_constructor for lhs in input[:-1]):
output.append(input)
return
......
__doc__ = """
>>> foo()
([0, 0], [0, 0])
"""
# Extracted from sage/plot/plot3d/index_face_set.pyx:502
# Turns out to be a bug in implementation of PEP 3132 (Extended Iterable Unpacking)
def foo():
a = b = [0,0]
return a, b
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment