fix .offset

This commit is contained in:
kbkpbot 2025-08-18 22:08:49 +08:00
parent cbb12a9369
commit 5cb1468eab
2 changed files with 2 additions and 0 deletions

View file

@ -549,6 +549,7 @@ pub fn (mut a array) shift() voidptr {
unsafe {
a.data = &u8(a.data) + u64(a.element_size)
}
a.offset += a.element_size
a.len--
a.cap--
return first_elem

View file

@ -125,6 +125,7 @@ fn (mut a array) ensure_cap_noscan(required int) {
unsafe { vmemcpy(new_data, a.data, u64(a.len) * u64(a.element_size)) }
// TODO: the old data may be leaked when no GC is used (ref-counting?)
}
a.offset += a.element_size
a.data = new_data
a.offset = 0
a.cap = int(cap)