diff --git a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt index 8785cbd2..9c5f8961 100644 --- a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt +++ b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt @@ -1225,6 +1225,10 @@ (map varop (list -PosByte -Byte -PosIndex -Index -PosFixnum -NonNegFixnum)) (commutative-case -NegFixnum -Fixnum) (commutative-case -NonPosFixnum -Fixnum) + (commutative-case -PosByte -PosInt) + (commutative-case -Byte -Nat) + (commutative-case -PosFixnum -PosInt) + (commutative-case -NonNegFixnum -Nat) (map varop (list -NegFixnum -NonPosFixnum -Fixnum -PosInt -Nat)) (commutative-case -NegInt -Int) (commutative-case -NonPosInt -Int) diff --git a/typed-racket-test/succeed/pr14896.rkt b/typed-racket-test/succeed/pr14896.rkt new file mode 100644 index 00000000..05dc9b7d --- /dev/null +++ b/typed-racket-test/succeed/pr14896.rkt @@ -0,0 +1,2 @@ +#lang typed/racket +(ann (min 255 (max 0 (ann 0 Integer))) Byte)