diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/annotate-classes.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/annotate-classes.rkt index 539330f671..6b3aa0760b 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/annotate-classes.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/annotate-classes.rkt @@ -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))])))) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/call-comp.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/call-comp.rkt index 40f95af1a5..25ced2385d 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/call-comp.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/call-comp.rkt @@ -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)