Handle empty gvectors when doubling size.
Closes PR 14843.
This commit is contained in:
parent
aad0fa5884
commit
ed4845b39b
|
@ -46,7 +46,7 @@
|
|||
(vector-set! v index item))
|
||||
(set-gvector-n! gv (+ n item-count))]
|
||||
[else
|
||||
(let* ([nn (let loop ([nn n])
|
||||
(let* ([nn (let loop ([nn (max n 1)])
|
||||
(if (<= (+ n item-count) nn) nn (loop (* 2 nn))))]
|
||||
[nv (make-vector nn #f)])
|
||||
(vector-copy! nv 0 v)
|
||||
|
|
|
@ -22,6 +22,13 @@
|
|||
gv))
|
||||
'#(1 2 3))
|
||||
|
||||
(test-equal? "gvector-add! (lots)"
|
||||
(let ()
|
||||
(define g (gvector))
|
||||
(apply gvector-add! g (build-list 11 values))
|
||||
(gvector->vector g))
|
||||
(for/vector ([i 11]) i))
|
||||
|
||||
(test-equal? "gvector-ref"
|
||||
(let ([gv (gvector 1 2 3)])
|
||||
;; 3 valid refs + 1 not-found
|
||||
|
|
Loading…
Reference in New Issue
Block a user