diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env-indexing-abs.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env-indexing-abs.rkt index e5a76c6316..26940afb67 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env-indexing-abs.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env-indexing-abs.rkt @@ -215,12 +215,12 @@ - [range (cl->* (-> (Un -Zero -NegInt) -Null) - (-> -One (-lst* -One)) + [range (cl->* (-> -NonPosReal -Null) + (-> -One (-lst* -Zero)) (-> -Byte (-lst -Byte)) (-> -Index (-lst -Index)) - (-> -Fixnum (-lst -Fixnum)) - (-> -Real (-lst -Int)) + (-> -Fixnum (-lst -NonNegFixnum)) + (-> -Real (-lst -Nat)) (->opt -PosInt -Byte [-Int] (-lst -PosByte)) (->opt -Nat -Byte [-Int] (-lst -Byte)) (->opt -PosInt -Index [-Int] (-lst -PosIndex)) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt index f049e29562..119a51d251 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt @@ -69,8 +69,8 @@ [(make-template-identifier 'in-range 'racket/private/for) (cl->* (-> -Byte (-seq -Byte)) (-> -Index (-seq -Index)) - (-> -Fixnum (-seq -Fixnum)) - (-> -Real (-seq -Int)) + (-> -Fixnum (-seq -NonNegFixnum)) + (-> -Real (-seq -Nat)) (->opt -PosInt -Byte [-Int] (-seq -PosByte)) (->opt -Nat -Byte [-Int] (-seq -Byte)) (->opt -PosInt -Index [-Int] (-seq -PosIndex)) 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 37d4329d83..b7f97c10f2 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 @@ -464,7 +464,12 @@ [tc-e (vector-immutable 2 "3" #t) (make-HeterogeneousVector (list -Integer -String -Boolean))] [tc-e (make-vector 4 1) (-vec -Integer)] [tc-e (build-vector 4 (lambda (x) 1)) (-vec -Integer)] + [tc-e (range 0) -Null] + [tc-e (range 1) (-lst* -Zero)] [tc-e (range 4) (-lst -Byte)] + [tc-e (range (ann 10 : Index)) (-lst -Index)] + [tc-e (range (ann 10 : Fixnum)) (-lst -NonNegFixnum)] + [tc-e (range (ann 10.0 : Real)) (-lst -Nat)] [tc-e (range 2 4 1) (-lst -PosByte)] [tc-e (range 0 4 1) (-lst -Byte)] [tc-e (range 0.0 4/2 0.5) (-lst -Flonum)]