~technomancy/fennel#234: 
&as cannot be used together with & rest in various forms besides let

From #64:

~andreyorst a month ago* · edit

FYI, this doesn't work in (fn [x & xs &as xx] [x xs xx])

I'd expect it to compile to

function (x, ...)
  local xs = {...}
  local xx = {x, ...}
end

~rktjmp 30 days ago · edit

It also does not work in case/match/case-try/case-match.

;; per tests, working
(let [[a b & c &as t] [1 2 3 4 5]]
  [a b c t])

(case [1 2 3 4 5] ;; expected & rest argument before last parameter
  [a b & c &as t] [a b c t])

~andreyorst 28 days ago* · edit

there was a patch and the discussion on the mailing list regarding the support (of now deprecated) __fennelrest metamethod, that altered how & works. The reason for this behavior is outlined in #171, and I believe this is the same case here.

Status
REPORTED
Submitter
~andreyorst
Assigned to
No-one
Submitted
7 months ago
Updated
7 months ago
Labels
enhancement