From 54b293812e09cb9274c76db00b143a5dfd8265d2 Mon Sep 17 00:00:00 2001 From: Simeon David Schaub Date: Tue, 2 Nov 2021 20:35:08 -0400 Subject: [PATCH] fix tuple destructuring --- src/julia-syntax.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/julia-syntax.scm b/src/julia-syntax.scm index f2621c1cd2f1d..a51825fdc7639 100644 --- a/src/julia-syntax.scm +++ b/src/julia-syntax.scm @@ -1490,24 +1490,24 @@ (make-ssavalue))) (assigns (make-assignment temp `(tuple ,@(reverse rhss-)))) (assigns (if (symbol? temp) - `(,assigns (local-def ,temp)) + `((local-def ,temp) ,assigns) (list assigns))) (n (length lhss-)) (st (gensy)) (end (list after)) (assigns (if (and (length= lhss- 1) (vararg? (car lhss-))) (begin - (set! after - (cons `(= ,(cadar lhss-) ,temp) after)) + (set-car! end + (cons `(= ,(cadar lhss-) ,temp) (car end))) assigns) (append (if (> n 0) `(,@assigns (local ,st)) assigns) (destructure- 1 (reverse lhss-) temp n st end))))) - (loop (reverse lhs-tail) + (loop lhs-tail (append (map (lambda (x) (if (vararg? x) (cadr x) x)) lhss-) assigned) - (reverse rhs-tail) + rhs-tail (append (reverse assigns) stmts) (car end) (cons `(... ,temp) elts))))))