diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/check-subforms-unit.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/check-subforms-unit.rkt index e82416eb..5b6542ce 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/check-subforms-unit.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/check-subforms-unit.rkt @@ -65,6 +65,8 @@ (match t [(Function: (list _ ... (arr: (list arg1) _ _ #f (list (Keyword: _ _ #f) ...)) _ ...)) (tc/funapp #'here #'(here) (ret t) (list (ret arg1)) #f)] + [(Function: (list _ ... (arr: '() _ (? values rest) #f (list (Keyword: _ _ #f) ...)) _ ...)) + (tc/funapp #'here #'(here) (ret t) (list (ret rest)) #f)] [(? needs-resolving? t) (loop (resolve t))] [(or (Poly: ns _) (PolyDots: (list ns ... _) _)) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/with-handlers-rest-arg.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/with-handlers-rest-arg.rkt new file mode 100644 index 00000000..b8820e74 --- /dev/null +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/with-handlers-rest-arg.rkt @@ -0,0 +1,5 @@ +#lang typed/racket/base + +(define (run-ground-vm) + (with-handlers ([exn:break? void]) + (void)))