diff --git a/src/julia-syntax.scm b/src/julia-syntax.scm index 5c936908afb06..abc0e794facfe 100644 --- a/src/julia-syntax.scm +++ b/src/julia-syntax.scm @@ -1416,6 +1416,8 @@ `(,(car x) ,(arg-to-temp (cadr x)))) ((or (eq? (car x) 'kw) (and tup (eq? (car x) '=))) `(,(car x) ,(cadr x) ,(arg-to-temp (caddr x)))) + ((eq? (car x) 'parameters) + `(parameters ,@(map arg-to-temp (cdr x)))) ((eq? (car x) 'tuple) (let ((tmp (remove-argument-side-effects x #t))) (set! a (revappend (cdr tmp) a)) diff --git a/test/syntax.jl b/test/syntax.jl index 724b5c109d6a9..fe549b34cb782 100644 --- a/test/syntax.jl +++ b/test/syntax.jl @@ -1979,3 +1979,8 @@ f33987(args::(Vararg{Any, N} where N); kwargs...) = args end pop = 1 end == 1 + +# issue #35201 +h35201(x; k=1) = (x, k) +f35201(c) = h35201((;c...), k=true) +@test f35201(Dict(:a=>1,:b=>3)) === ((a=1,b=3), true)