commit 144e36770ed7d7e1ddbcae61742cf76bfb8b0e41 (tree)
parent 97063efb69d11bfe7210555948b1f59ab6fb9d08
Author: Jarred Sumner <jarred@jarredsumner.com>
Date: Sun, 16 Jan 2022 17:26:49 -0800
Fix missing `!void` in std.MultiArrayList
Calling `insert` on a `std.MultiArrayList` currently fails with a compiler error due to using a `try` without the `!` annotation on the return type
```zig
this.list.insert(allocator, 0, listener);
```
```zig
/Users/jarred/Build/zig/lib/std/multi_array_list.zig:192:13: error: expected type 'void', found '@typeInfo(@typeInfo(@TypeOf(std.multi_array_list.MultiArrayList(src.javascript.jsc.node.types.Listener).ensureUnusedCapacity)).Fn.return_type.?).ErrorUnion.error_set'
try self.ensureUnusedCapacity(gpa, 1);
```
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig
@@ -188,7 +188,7 @@ pub fn MultiArrayList(comptime S: type) type {
/// after and including the specified index back by one and
/// sets the given index to the specified element. May reallocate
/// and invalidate iterators.
- pub fn insert(self: *Self, gpa: Allocator, index: usize, elem: S) void {
+ pub fn insert(self: *Self, gpa: Allocator, index: usize, elem: S) !void {
try self.ensureUnusedCapacity(gpa, 1);
self.insertAssumeCapacity(index, elem);
}