Is it bug of std.ArrayList? Werid memory leak happend

const std = @import("std");

test {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    defer _ = gpa.deinit();
    const allocator = gpa.allocator();

    var prng = std.Random.DefaultPrng.init(@intCast(std.time.timestamp()));
    const rand = prng.random();

    var list = std.ArrayList(u32).init(allocator);
    list.deinit();

    for (0..128) |_| {
        try list.append(rand.int(u32));
    }

    for (0..10) |_| {
        list.clearRetainingCapacity();
        for (0..128) |_| {
            try list.append(rand.int(u32));  // error happend here. 
        }
    }
}

Thanks.

-list.deinit();
+defer list.deinit();
2 Likes