diff --git a/collects/racket/private/vector-wraps.rkt b/collects/racket/private/vector-wraps.rkt index 4b0eabf0ae..395bf2f57c 100644 --- a/collects/racket/private/vector-wraps.rkt +++ b/collects/racket/private/vector-wraps.rkt @@ -67,7 +67,7 @@ (let ([new-vec (if (eq? i (unsafe-fXvector-length vec)) (grow-fXvector vec) vec)]) - (unsafe-fXvector-set! new-vec i (let () last-body ...)) + (fXvector-set! new-vec i (let () last-body ...)) (values new-vec (unsafe-fx+ i 1))))]) (shrink-fXvector vec i))))] [(for*/fXvector #:length length-expr #:fill fill-expr (for-clause ...) body ...) diff --git a/collects/tests/racket/fixnum.rktl b/collects/tests/racket/fixnum.rktl index c34d9d952f..d72e11b305 100644 --- a/collects/tests/racket/fixnum.rktl +++ b/collects/tests/racket/fixnum.rktl @@ -215,4 +215,12 @@ (test-sequence [(2 4 6)] (in-fxvector (fxvector 1 2 3 4 5 6 7 8) 1 6 2)) (test-sequence [(8 6 4)] (in-fxvector (fxvector 1 2 3 4 5 6 7 8) 7 2 -2)) +;; Check safety: +(err/rt-test (for/fxvector ([i 5]) 8.0)) +(err/rt-test (for/fxvector #:length 5 ([i 5]) 8.0)) +(err/rt-test (for/fxvector #:length 5 #:fill 0 ([i 5]) 8.0)) +(err/rt-test (for/fxvector #:length 5 #:fill 0.0 ([i 5]) 8)) +(err/rt-test (for/fxvector #:length 10 #:fill 0.0 ([i 5]) 8)) + + (report-errs) diff --git a/collects/tests/racket/flonum.rktl b/collects/tests/racket/flonum.rktl index ae6b1a9cfe..2d2740fd0a 100644 --- a/collects/tests/racket/flonum.rktl +++ b/collects/tests/racket/flonum.rktl @@ -157,6 +157,13 @@ (test-sequence [(2.0 4.0 6.0)] (in-flvector (flvector 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0) 1 6 2)) (test-sequence [(8.0 6.0 4.0)] (in-flvector (flvector 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0) 7 2 -2)) +;; Check safety: +(err/rt-test (for/flvector ([i 5]) 8)) +(err/rt-test (for/flvector #:length 5 ([i 5]) 8)) +(err/rt-test (for/flvector #:length 5 #:fill 0.0 ([i 5]) 8)) +(err/rt-test (for/flvector #:length 5 #:fill 0 ([i 5]) 8.0)) +(err/rt-test (for/flvector #:length 10 #:fill 0 ([i 5]) 8.0)) + ;; ---------------------------------------- ;; Check corners of `flexpt': ;; Tests by Neil T.: