fix non-inlined `in-vector' sequence on proxied vectors

Merge to 5.0.2
 Closes PR 11225
This commit is contained in:
Matthew Flatt 2010-10-18 13:45:10 -07:00
parent 17c4cb9254
commit ddca8cd29b
2 changed files with 2 additions and 1 deletions

View File

@ -420,7 +420,7 @@
(define (:vector-gen v start stop step) (define (:vector-gen v start stop step)
(values (values
;; pos->element ;; pos->element
(lambda (i) (unsafe-vector-ref v i)) (lambda (i) (unsafe-vector*-ref v i))
;; next-pos ;; next-pos
;; Minor optimisation. I assume add1 is faster than \x.x+1 ;; Minor optimisation. I assume add1 is faster than \x.x+1
(if (= step 1) add1 (lambda (i) (+ i step))) (if (= step 1) add1 (lambda (i) (+ i step)))

View File

@ -110,6 +110,7 @@
(test-generator [(a b c)] (in-mlist (mlist 'a 'b 'c))) (test-generator [(a b c)] (in-mlist (mlist 'a 'b 'c)))
(test-generator [(a b c)] #(a b c)) (test-generator [(a b c)] #(a b c))
(test-generator [(a b c)] (in-vector #(a b c))) (test-generator [(a b c)] (in-vector #(a b c)))
(test-generator [(a b c)] (in-vector (chaperone-vector #(a b c) (lambda (vec i val) val) (lambda (vec i val) val))))
(test-generator [(b c d)] (in-vector #(a b c d) 1)) (test-generator [(b c d)] (in-vector #(a b c d) 1))
(test-generator [(b c d)] (in-vector #(a b c d e) 1 4)) (test-generator [(b c d)] (in-vector #(a b c d e) 1 4))
(test-generator [(b d f)] (in-vector #(a b c d e f g h) 1 7 2)) (test-generator [(b d f)] (in-vector #(a b c d e f g h) 1 7 2))