aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source')
-rw-r--r--stdlib/source/lux/type/auto.lux16
1 files changed, 8 insertions, 8 deletions
diff --git a/stdlib/source/lux/type/auto.lux b/stdlib/source/lux/type/auto.lux
index 31439af3d..aa7074d4a 100644
--- a/stdlib/source/lux/type/auto.lux
+++ b/stdlib/source/lux/type/auto.lux
@@ -235,10 +235,10 @@
(list l r))
(syntax: #export (::: [member s;symbol]
- [args (s;alt (s;some s;symbol)
- (s;some s;any))])
+ [args (s;alt (s;seq (s;some s;symbol) s;end)
+ (s;seq (s;some s;any) s;end))])
(case args
- (#;Left args)
+ (#;Left [args _])
(do @
[[member-idx sig-type] (resolve-member member)
input-types (mapM @ resolve-type args)
@@ -260,11 +260,11 @@
(text;join-with ", ")
)))))
- (#;Right args)
+ (#;Right [args _])
(do @
- [#let [args-to-bind (list;filter (bool;complement var?) args)]
- labels (seqM @ (list;repeat (list;size args-to-bind)
+ [labels (seqM @ (list;repeat (list;size args)
(compiler;gensym "")))
- #let [retry (` (let [(~@ (|> (list;zip2 labels args-to-bind) (List/map join-pair) List/join))]
+ #let [retry (` (let [(~@ (|> (list;zip2 labels args) (List/map join-pair) List/join))]
(;;::: (~ (ast;symbol member)) (~@ labels))))]]
- (wrap (list retry)))))
+ (wrap (list retry)))
+ ))