diff --git a/src/core/CCVector.ml b/src/core/CCVector.ml index 03352fdb..62437e2d 100644 --- a/src/core/CCVector.ml +++ b/src/core/CCVector.ml @@ -132,9 +132,11 @@ let resize_with v f size = v.size <- size ) else ( ensure_assuming_not_empty_ v size; - for i = v.size to size - 1 do - Array.unsafe_set v.vec i (f i) + let {size=cur_size; vec} = v in + for i = cur_size to size - 1 do + Array.unsafe_set vec i (f i) done; + assert (size <= Array.length v.vec); v.size <- size ) @@ -146,6 +148,7 @@ let resize_with_init v ~init size = v.size <- size ) else ( ensure_assuming_not_empty_ v size; + (* nothing will change [v] *) for i = v.size to size - 1 do Array.unsafe_set v.vec i init done;