List.remove_at would incorrectly trigger ASAN.

This commit is contained in:
Christoffer Lerno
2025-08-01 23:43:18 +02:00
parent e3a8a3ec02
commit 90c339ebdb
3 changed files with 22 additions and 3 deletions

View File

@@ -20,6 +20,22 @@ fn void overaligned_type()
assert((usz)l.get_ref(2) - (usz)l.get_ref(1) == Overalign.sizeof);
}
fn void remove_at()
{
IntList test;
test.init(mem);
defer test.free();
test.add_array({ 1, 2, 3, 4 });
test::eq(test.array_view(), (int[]){ 1, 2, 3, 4 });
test.remove_at(0);
test::eq(test.array_view(), (int[]){ 2, 3, 4 });
test.remove_at(1);
test::eq(test.array_view(), (int[]){ 2, 4 });
test.remove_at(1);
test::eq(test.array_view(), (int[]){ 2 });
test.remove_at(0);
test::eq(test.array_view(), (int[]){ });
}
fn void delete_contains_index()
{