When shrinking a list's capacity, wrenReallocate may return a different memory address. The previous code ignored the return value, leaving list->elements pointing to freed memory. This fix assigns the result back to list->elements and adds a regression test for grow/shrink behavior.
12 lines
211 B
Plaintext
12 lines
211 B
Plaintext
// This mostly tests that lists handle growing and shrinking their memory.
|
|
var list = []
|
|
for (i in 0..200) {
|
|
list.add(i)
|
|
}
|
|
|
|
for (i in 0..195) {
|
|
list.removeAt(-1)
|
|
}
|
|
|
|
IO.print(list) // expect: [0, 1, 2, 3, 4]
|