| ... | ... | @@ -195,7 +195,7 @@ pub fn PriorityQueue(comptime T: type) type { |
| 195 | 195 | count: usize, |
| 196 | 196 | |
| 197 | 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 | 199 | const out = it.count; |
| 200 | 200 | it.count += 1; |
| 201 | 201 | return it.queue.items[out]; |
| ... | ... | @@ -428,3 +428,12 @@ test "std.PriorityQueue: remove at index" { |
| 428 | 428 | expectEqual(queue.remove(), 3); |
| 429 | 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 | } |