diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt index 87a1d273..2ff52d84 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt @@ -848,7 +848,7 @@ (define (parse-tc-results stx) (syntax-parse stx - [(:values^ t ...) + [((~or :Values^ :values^) t ...) (ret (parse-types #'(t ...)) (stx-map (lambda (x) -no-filter) #'(t ...)) (stx-map (lambda (x) -no-obj) #'(t ...)))] diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt index 3532dc94..4f702f9a 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt @@ -3175,6 +3175,14 @@ (raise 'foo)) #:ret (ret -String) #:msg #rx"expected: Symbol.*given: Any"] + + ;; PR 14218 + [tc-e (ann (values "foo" "bar") (Values String String)) + #:ret (ret (list -String -String))] + [tc-e (let () + (tr:define (foo) : (Values String String) (values "foo" "bar")) + (void)) + -Void] ) (test-suite