From 8f08418699097817e89c14936f12ba4b708f03ba Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Mon, 28 Jul 2014 12:09:29 -0400 Subject: [PATCH] Fix `Values` in type annotations Closes PR 14218 --- .../typed-racket-lib/typed-racket/private/parse-type.rkt | 2 +- .../tests/typed-racket/unit-tests/typecheck-tests.rkt | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 87a1d27391..2ff52d84f3 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 3532dc945a..4f702f9a81 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