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 66146e33..1484a5d2 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 @@ -1165,7 +1165,7 @@ (commutative-case -InexactReal (Un -PosRat -NegRat -InexactReal) -InexactReal) (varop-1+ -InexactReal) ;; reals - (varop-1+ -NonNegReal -NonNegReal) + (varop-1+ -PosReal -NonNegReal) (-> -NonPosReal -NonPosReal) (-> -NegReal -NegReal -NonNegReal) ; 0.0 is non-neg, but doesn't preserve sign (-> -NegReal -PosReal -NonPosReal) ; idem diff --git a/typed-racket-test/unit-tests/typecheck-tests.rkt b/typed-racket-test/unit-tests/typecheck-tests.rkt index 7d169f53..df65a5ef 100644 --- a/typed-racket-test/unit-tests/typecheck-tests.rkt +++ b/typed-racket-test/unit-tests/typecheck-tests.rkt @@ -459,6 +459,7 @@ (tc-e (expt -0.0f0 -3.0) -InexactReal) (tc-e (expt -8.665778974912815f+107 -677460115195106837726964554590085563061636191189747) -Number) (tc-e (expt (sin +inf.f) +nan.0+nan.0i) -Number) + (tc-e (/ (gcd 1 0) -0.0f0 2.718281828459045) -Real) (tc-e (exact->inexact 3) -PosFlonum) (tc-e (exact->inexact -3) -NegFlonum) (tc-e (real->double-flonum 0.0) -FlonumPosZero)