Fixed support for valuesdots with let/ec.
This commit is contained in:
parent
878d4cfb4d
commit
d35f41728c
|
@ -63,10 +63,8 @@
|
|||
#:with ann-name (type-label-property
|
||||
#'name
|
||||
(syntax-parse #'ty
|
||||
[((~or :Values^ :values^) tys ... dty :ddd/bound)
|
||||
#'(tys ... dty -> (U))]
|
||||
[((~or :Values^ :values^) tys ... dty _:ddd)
|
||||
#'(tys ... dty -> (U))]
|
||||
[((~or :Values^ :values^) tys ... dty b:ddd)
|
||||
#'(tys ... dty b -> (U))]
|
||||
[((~or :Values^ :values^) tys ...)
|
||||
#'(tys ... -> (U))]
|
||||
[t #'(t -> (U))]))))
|
||||
|
|
|
@ -18,3 +18,7 @@
|
|||
((inst call/ec Integer Integer Integer) (lambda ([f : (Integer Integer -> Nothing)]) (f 0 1)))
|
||||
(let/cc k : (values String Symbol Boolean)
|
||||
(+ 5 (k "result arity doesn't matter" 'hahaha #t)))
|
||||
|
||||
(: r : (All (a b ...) (-> a b ... b (values a b ... b))))
|
||||
(define (r A . bs) (let/ec break : (values a b ... b) (apply break A bs)))
|
||||
(r 0 1 2 3 4 5)
|
||||
|
|
Loading…
Reference in New Issue
Block a user