(import chicken.locative chicken.gc srfi-4) (define old (u32vector 0 1 2 4294967294 4294967295)) (define new (make-u32vector 5)) (do ((i 0 (add1 i))) ((= i 5)) (let ((loc-src (make-locative old i)) (loc-dst (make-locative new (- 5 i 1)))) (locative-set! loc-dst (locative-ref loc-src)))) (assert (eqv? (u32vector-ref old 4) (u32vector-ref new 0))) (gc #t)