diff --git a/typed-racket-lib/typed-racket/typecheck/tc-app/tc-app-eq.rkt b/typed-racket-lib/typed-racket/typecheck/tc-app/tc-app-eq.rkt index 03d67438..4f128ae3 100644 --- a/typed-racket-lib/typed-racket/typecheck/tc-app/tc-app-eq.rkt +++ b/typed-racket-lib/typed-racket/typecheck/tc-app/tc-app-eq.rkt @@ -57,8 +57,8 @@ (tc-result1: (Value: (? ok? val2)) _ o2)) (ret -Boolean (-FS (-and (-filter (-val val2) o1) (-filter (-val val1) o2)) - (-and (-not-filter (-val val1) o1) - (-not-filter (-val val2) o2))))] + (-and (-not-filter (-val val2) o1) + (-not-filter (-val val1) o2))))] [((tc-result1: t _ o) (tc-result1: (Value: (? ok? val)))) (ret -Boolean (-FS (-filter (-val val) o) (-not-filter (-val val) o)))] [((tc-result1: (Value: (? ok? val))) (tc-result1: t _ o)) diff --git a/typed-racket-test/fail/issue-215-2.rkt b/typed-racket-test/fail/issue-215-2.rkt new file mode 100644 index 00000000..620ba48b --- /dev/null +++ b/typed-racket-test/fail/issue-215-2.rkt @@ -0,0 +1,7 @@ +#lang typed/racket + + +(ann (let ((x 'b)) + (if (equal? x 'a) + 42 + "foo")) Number) diff --git a/typed-racket-test/fail/issue-215.rkt b/typed-racket-test/fail/issue-215.rkt new file mode 100644 index 00000000..828628a3 --- /dev/null +++ b/typed-racket-test/fail/issue-215.rkt @@ -0,0 +1,4 @@ +#; +(exn-pred "match:") +#lang typed/racket +(ann (match '(b) [(list 'a) 42]) Number)