| ... | ... | @@ -82,8 +82,8 @@ pub fn ArrayListSentineled(comptime T: type, comptime sentinel: T) type { |
| 82 | 82 | self.list.deinit(); |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | | pub fn span(self: var) @TypeOf(self.list.items[0 .. self.list.len - 1 :sentinel]) { |
| 86 | | return self.list.span()[0..self.len() :sentinel]; |
| 85 | pub fn span(self: var) @TypeOf(self.list.items[0..:sentinel]) { |
| 86 | return self.list.items[0..self.len() :sentinel]; |
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | pub fn shrink(self: *Self, new_len: usize) void { |
| ... | ... | @@ -98,16 +98,16 @@ pub fn ArrayListSentineled(comptime T: type, comptime sentinel: T) type { |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | pub fn isNull(self: Self) bool { |
| 101 | | return self.list.len == 0; |
| 101 | return self.list.items.len == 0; |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 104 | pub fn len(self: Self) usize { |
| 105 | | return self.list.len - 1; |
| 105 | return self.list.items.len - 1; |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | pub fn capacity(self: Self) usize { |
| 109 | | return if (self.list.items.len > 0) |
| 110 | | self.list.items.len - 1 |
| 109 | return if (self.list.capacity > 0) |
| 110 | self.list.capacity - 1 |
| 111 | 111 | else |
| 112 | 112 | 0; |
| 113 | 113 | } |
| ... | ... | @@ -115,13 +115,13 @@ pub fn ArrayListSentineled(comptime T: type, comptime sentinel: T) type { |
| 115 | 115 | pub fn appendSlice(self: *Self, m: []const T) !void { |
| 116 | 116 | const old_len = self.len(); |
| 117 | 117 | try self.resize(old_len + m.len); |
| 118 | | mem.copy(T, self.list.span()[old_len..], m); |
| 118 | mem.copy(T, self.list.items[old_len..], m); |
| 119 | 119 | } |
| 120 | 120 | |
| 121 | 121 | pub fn append(self: *Self, byte: T) !void { |
| 122 | 122 | const old_len = self.len(); |
| 123 | 123 | try self.resize(old_len + 1); |
| 124 | | self.list.span()[old_len] = byte; |
| 124 | self.list.items[old_len] = byte; |
| 125 | 125 | } |
| 126 | 126 | |
| 127 | 127 | pub fn eql(self: Self, m: []const T) bool { |