| ... | @@ -283,10 +283,12 @@ pub const DependencyIterator = struct { | ... | @@ -283,10 +283,12 @@ pub const DependencyIterator = struct { |
| 283 | ip: *const InternPool, | 283 | ip: *const InternPool, |
| 284 | next_entry: DepEntry.Index.Optional, | 284 | next_entry: DepEntry.Index.Optional, |
| 285 | pub fn next(it: *DependencyIterator) ?AnalUnit { | 285 | pub fn next(it: *DependencyIterator) ?AnalUnit { |
| 286 | const idx = it.next_entry.unwrap() orelse return null; | 286 | while (true) { |
| 287 | const entry = it.ip.dep_entries.items[@intFromEnum(idx)]; | 287 | const idx = it.next_entry.unwrap() orelse return null; |
| 288 | it.next_entry = entry.next; | 288 | const entry = it.ip.dep_entries.items[@intFromEnum(idx)]; |
| 289 | return entry.depender.unwrap().?; | 289 | it.next_entry = entry.next; |
| | 290 | if (entry.depender.unwrap()) |depender| return depender; |
| | 291 | } |
| 290 | } | 292 | } |
| 291 | }; | 293 | }; |
| 292 | | 294 | |