diff --git a/pkgs/racket-test-core/tests/racket/for.rktl b/pkgs/racket-test-core/tests/racket/for.rktl index b8bafa69fa..de13caeb9a 100644 --- a/pkgs/racket-test-core/tests/racket/for.rktl +++ b/pkgs/racket-test-core/tests/racket/for.rktl @@ -16,16 +16,24 @@ (if 64-bit? (- (expt 2 60) 1) +536870911) (if 64-bit? (- (expt 2 62) 1) +1073741823))) +(define (five) 5) + (test-sequence [(0 1 2)] 3) (test-sequence [(0 1 2)] (in-range 3)) (test-sequence [(3 4 5)] (in-range 3 6)) (test-sequence [(7 6 5)] (in-range 7 4 -1)) +(test-sequence [(5 6)] (in-range (five) 7)) +(test-sequence [(3 4)] (in-range 3 (five))) +(test-sequence [(0 5)] (in-range 0 10 (five))) (test-sequence [(3.0 4.0 5.0)] (in-range 3.0 6.0)) (test-sequence [(3.0 3.5 4.0 4.5 5.0 5.5)] (in-range 3.0 6.0 0.5)) (test-sequence [(3.0 3.1 3.2)] (in-range 3.0 3.3 0.1)) (test-sequence [(6 7)] (in-inclusive-range 6 7)) (test-sequence [(3 4 5 6)] (in-inclusive-range 3 6)) (test-sequence [(7 6 5 4)] (in-inclusive-range 7 4 -1)) +(test-sequence [(5 6 7)] (in-inclusive-range (five) 7)) +(test-sequence [(3 4 5)] (in-inclusive-range 3 (five))) +(test-sequence [(0 5 10)] (in-inclusive-range 0 10 (five))) (test-sequence [(3.0 4.0 5.0 6.0)] (in-inclusive-range 3.0 6.0)) (test-sequence [(3.0 3.5 4.0 4.5 5.0 5.5 6.0)] (in-inclusive-range 3.0 6.0 0.5)) (test-sequence [(#e3.0 #e3.1 #e3.2 #e3.3)] (in-inclusive-range #e3.0 #e3.3 #e0.1)) diff --git a/racket/collects/racket/private/for.rkt b/racket/collects/racket/private/for.rkt index 6c40547f1f..7c184f350a 100644 --- a/racket/collects/racket/private/for.rkt +++ b/racket/collects/racket/private/for.rkt @@ -2178,6 +2178,7 @@ #'id #'a #'b #'step (and (memq (syntax-e #'step) '(1 -1)) (fixnum? (syntax-e #'a)) + (fixnum? (syntax-e #'b)) (fixnum? ((if (eq? (syntax-e #'step) 1) add1 sub1) (syntax-e #'b)))) #'(check-range-generic 'in-inclusive-range)