diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-if.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-if.rkt index 4fcd9aea..ebb384c9 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-if.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-if.rkt @@ -99,12 +99,6 @@ (ret us fs3 os3)] ;; otherwise, error [else - (tc-error/expr #:return (or expected (ret Err)) + (tc-error/expr #:return (ret -Bottom) "Expected the same number of values from both branches of `if' expression, but got ~a and ~a" - (length ts) (length us))])])))] - [(tc-any-results:) - (tc-error/expr #:return (or expected (ret Err)) - "Test expression expects one value, given unknown amount")] - [(tc-results: t _ _) - (tc-error/expr #:return (or expected (ret Err)) - "Test expression expects one value, given ~a" t)])) + (length ts) (length us))])])))])) 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 052f9d3b..6e5abfda 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 @@ -2617,6 +2617,11 @@ #:ret (ret (-val 'x)) #:expected (ret (-val 'x) -no-filter -no-obj)] + [tc-err (if (random) (values 1 2) 3) + #:ret (ret (-val 3) -top-filter) + #:expected (ret (-val 3) -no-filter -no-obj)] + + ) (test-suite "tc-literal tests"