diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-metafunctions.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-metafunctions.rkt index cae1b6a3..8920f33e 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-metafunctions.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-metafunctions.rkt @@ -80,7 +80,8 @@ (-result (abstract-type arg-names keys t) (abstract-filter arg-names keys f) (abstract-object arg-names keys o))) - dty dbound)] + (abstract-type arg-names keys dty) + dbound)] [(tc-results: ts fs os) (make-Values (for/list ([t (in-list ts)] [f (in-list fs)] [o (in-list os)]) 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 51063352..8e54a7f0 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 @@ -2959,6 +2959,16 @@ #:expected (ret (-polydots (a) (->... (list) (a a) (-values-dots (list) a 'a))))] + [tc-e + (tr:lambda xs (tr:lambda (x) (apply values (map (tr:lambda (z) (tr:lambda (y) (symbol? x))) xs)))) + #:ret + (ret (-polydots (a ...) + (->... (list) (a a) (-values (list + (t:-> Univ (-values-dots (list) (t:-> Univ -Boolean : (-FS (-filter -Symbol (list 1 0)) -top)) 'a))))))) + #:expected + (ret (-polydots (a ...) + (->... (list) (a a) (-values (list + (t:-> Univ (-values-dots (list) (t:-> Univ -Boolean : (-FS (-filter -Symbol (list 1 0)) -top)) 'a)))))))] ) (test-suite "tc-literal tests"