Skip to content

Commit a279a4e

Browse files
windwhiteraintaichi-gardener
authored andcommitted
init
1 parent 8fe47c7 commit a279a4e

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

python/taichi/lang/ast/ast_transformer.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,18 @@ def build_assign_basic(ctx, target, value, is_static_assign):
206206
ctx.create_variable(target.id, var)
207207
else:
208208
var = build_stmt(ctx, target)
209-
try:
210-
var._assign(value)
211-
except AttributeError:
212-
raise TaichiSyntaxError(
213-
f"Variable '{unparse(target).strip()}' cannot be assigned. Maybe it is not a Taichi object?"
209+
if isinstance(var, tuple) and isinstance(value, tuple):
210+
if len(var) != len(value):
211+
raise TaichiSyntaxError("Tuple assign with different lengths")
212+
vars, values = var, value
213+
else:
214+
vars, values = (var,), (value,)
215+
for i in range(len(var)):
216+
try:
217+
vars[i]._assign(values[i])
218+
except AttributeError:
219+
raise TaichiSyntaxError(
220+
f"Variable '{unparse(target).strip()}' cannot be assigned. Maybe it is not a Taichi object?"
214221
)
215222
return var
216223

0 commit comments

Comments
 (0)