| ... | @@ -195,7 +195,7 @@ pub fn PriorityQueue(comptime T: type) type { | ... | @@ -195,7 +195,7 @@ pub fn PriorityQueue(comptime T: type) type { |
| 195 | count: usize, | 195 | count: usize, |
| 196 | | 196 | |
| 197 | pub fn next(it: *Iterator) ?T { | 197 | pub fn next(it: *Iterator) ?T { |
| 198 | if (it.count > it.queue.len - 1) return null; | 198 | if (it.count >= it.queue.len) return null; |
| 199 | const out = it.count; | 199 | const out = it.count; |
| 200 | it.count += 1; | 200 | it.count += 1; |
| 201 | return it.queue.items[out]; | 201 | return it.queue.items[out]; |
| ... | @@ -428,3 +428,12 @@ test "std.PriorityQueue: remove at index" { | ... | @@ -428,3 +428,12 @@ test "std.PriorityQueue: remove at index" { |
| 428 | expectEqual(queue.remove(), 3); | 428 | expectEqual(queue.remove(), 3); |
| 429 | expectEqual(queue.removeOrNull(), null); | 429 | expectEqual(queue.removeOrNull(), null); |
| 430 | } | 430 | } |
| | 431 | |
| | 432 | test "std.PriorityQueue: iterator while empty" { |
| | 433 | var queue = PQ.init(testing.allocator, lessThan); |
| | 434 | defer queue.deinit(); |
| | 435 | |
| | 436 | var it = queue.iterator(); |
| | 437 | |
| | 438 | expectEqual(it.next(), null); |
| | 439 | } |