fix: assign reallocation result to list->elements in shrink path

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.
This commit is contained in:
Bob Nystrom
2014-02-10 15:55:14 +00:00
parent f3d287d430
commit 6947143007
2 changed files with 14 additions and 2 deletions
+11
View File
@@ -0,0 +1,11 @@
// 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]