| ... | @@ -121,7 +121,7 @@ pub fn BoundedArray(comptime T: type, comptime capacity: usize) type { | ... | @@ -121,7 +121,7 @@ pub fn BoundedArray(comptime T: type, comptime capacity: usize) type { |
| 121 | /// Insert `item` at index `i` by moving `slice[n .. slice.len]` to make room. | 121 | /// Insert `item` at index `i` by moving `slice[n .. slice.len]` to make room. |
| 122 | /// This operation is O(N). | 122 | /// This operation is O(N). |
| 123 | pub fn insert(self: *Self, i: usize, item: T) !void { | 123 | pub fn insert(self: *Self, i: usize, item: T) !void { |
| 124 | if (i >= self.len) { | 124 | if (i > self.len) { |
| 125 | return error.IndexOutOfBounds; | 125 | return error.IndexOutOfBounds; |
| 126 | } | 126 | } |
| 127 | _ = try self.addOne(); | 127 | _ = try self.addOne(); |
| ... | @@ -289,6 +289,10 @@ test "BoundedArray" { | ... | @@ -289,6 +289,10 @@ test "BoundedArray" { |
| 289 | try testing.expectEqual(a.get(9), 3); | 289 | try testing.expectEqual(a.get(9), 3); |
| 290 | try testing.expectEqual(a.get(10), 4); | 290 | try testing.expectEqual(a.get(10), 4); |
| 291 | | 291 | |
| | 292 | try a.insert(11, 0xbb); |
| | 293 | try testing.expectEqual(a.len, 12); |
| | 294 | try testing.expectEqual(a.pop(), 0xbb); |
| | 295 | |
| 292 | try a.appendSlice(&x); | 296 | try a.appendSlice(&x); |
| 293 | try testing.expectEqual(a.len, 11 + x.len); | 297 | try testing.expectEqual(a.len, 11 + x.len); |
| 294 | | 298 | |