inferred leading comptime params
This commit is contained in:
@@ -25,13 +25,13 @@ _fail_allocator mem.Allocator :: mem.Allocator {
|
||||
_noop func() void {}
|
||||
|
||||
run func() i32 ! mem.AllocError {
|
||||
values arraylist.ArrayList(i32) = arraylist.init(i32, mem.c_allocator)
|
||||
defer arraylist.deinit(i32, &values)
|
||||
values arraylist.ArrayList(i32) = arraylist.init(mem.c_allocator)
|
||||
defer arraylist.deinit(&values)
|
||||
if (values.items.len != 0 or values.capacity != 0) return 1
|
||||
|
||||
i usize = 0
|
||||
while i < 20 : i += 1 {
|
||||
arraylist.append(i32, &values, i32(i)) catch |_| {
|
||||
arraylist.append(&values, i32(i)) catch |_| {
|
||||
return .out_of_memory
|
||||
}
|
||||
}
|
||||
@@ -40,34 +40,34 @@ run func() i32 ! mem.AllocError {
|
||||
values.items[3] = 33
|
||||
if (values.items[3] != 33) return 4
|
||||
|
||||
arraylist.reserve(i32, &values, 50) catch |_| {
|
||||
arraylist.reserve(&values, 50) catch |_| {
|
||||
return .out_of_memory
|
||||
}
|
||||
if (values.capacity < 50 or values.items.len != 20 or values.items[19] != 19) return 5
|
||||
capacity usize :: values.capacity
|
||||
arraylist.clear(i32, &values)
|
||||
arraylist.clear(&values)
|
||||
if (values.items.len != 0 or values.capacity != capacity) return 6
|
||||
arraylist.append(i32, &values, 7) catch |_| {
|
||||
arraylist.append(&values, 7) catch |_| {
|
||||
return .out_of_memory
|
||||
}
|
||||
if (values.items.len != 1 or values.items[0] != 7 or values.capacity != capacity) return 7
|
||||
|
||||
empty_values arraylist.ArrayList([0]u8) = arraylist.init([0]u8, mem.c_allocator)
|
||||
defer arraylist.deinit([0]u8, &empty_values)
|
||||
empty_values arraylist.ArrayList([0]u8) = arraylist.init(mem.c_allocator)
|
||||
defer arraylist.deinit(&empty_values)
|
||||
zero [0]u8 :: []
|
||||
arraylist.append([0]u8, &empty_values, zero) catch |_| {
|
||||
arraylist.append(&empty_values, zero) catch |_| {
|
||||
return .out_of_memory
|
||||
}
|
||||
if (empty_values.items.len != 1) return 8
|
||||
|
||||
failed arraylist.ArrayList(i32) = arraylist.init(i32, _fail_allocator)
|
||||
failed_as_expected bool = false
|
||||
arraylist.append(i32, &failed, 1) catch |_| {
|
||||
arraylist.append(&failed, 1) catch |_| {
|
||||
failed_as_expected = true
|
||||
yield _noop()
|
||||
}
|
||||
if (failed_as_expected == false or failed.items.len != 0 or failed.capacity != 0) return 9
|
||||
arraylist.deinit(i32, &failed)
|
||||
arraylist.deinit(&failed)
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user