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 ae1e89e8..62befab4 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 @@ -1624,7 +1624,7 @@ (-SingleFlonum -SingleFlonum . -> . (Un -SingleFlonum -SingleFlonumComplex)) (-PosInexactReal (Un -NegFixnum -PosFixnum) . -> . -NonNegInexactReal) (-NonNegInexactReal (Un -NegFixnum -PosFixnum) . -> . -InexactReal) - (-PosReal -Fixnum . -> . -NonNegReal) + (-PosReal -Real . -> . -NonNegReal) (-NonNegReal -Fixnum . -> . -Real) (-InexactReal (Un -NegFixnum -PosFixnum) . -> . -InexactReal) (-InexactReal -InexactReal . -> . (Un -InexactReal -InexactComplex)) diff --git a/typed-racket-test/unit-tests/typecheck-tests.rkt b/typed-racket-test/unit-tests/typecheck-tests.rkt index 4a458ab1..9882736b 100644 --- a/typed-racket-test/unit-tests/typecheck-tests.rkt +++ b/typed-racket-test/unit-tests/typecheck-tests.rkt @@ -434,6 +434,8 @@ (tan (real->double-flonum 6)) (lcm (*) (exact-round -1.7976931348623153e+308) 6)) -Number) + (tc-e (exact->inexact (expt 10 (/ -120.0 20))) ; from rsound + -NonNegInexactReal) (tc-e (flexpt 0.5 0.3) -NonNegFlonum) (tc-e (flexpt 0.00000000001 100000000000.0) -NonNegFlonum) (tc-e (flexpt -2.0 -0.5) -Flonum) ; NaN