Commit 7dbd2a6bb5

Jacob Young <jacobly0@users.noreply.github.com>
2024-07-16 08:22:53
InternPool: fix `DependencyIterator` iteration
1 parent a20d081
Changed files (1)
src/InternPool.zig
@@ -283,10 +283,12 @@ pub const DependencyIterator = struct {
     ip: *const InternPool,
     next_entry: DepEntry.Index.Optional,
     pub fn next(it: *DependencyIterator) ?AnalUnit {
-        const idx = it.next_entry.unwrap() orelse return null;
-        const entry = it.ip.dep_entries.items[@intFromEnum(idx)];
-        it.next_entry = entry.next;
-        return entry.depender.unwrap().?;
+        while (true) {
+            const idx = it.next_entry.unwrap() orelse return null;
+            const entry = it.ip.dep_entries.items[@intFromEnum(idx)];
+            it.next_entry = entry.next;
+            if (entry.depender.unwrap()) |depender| return depender;
+        }
     }
 };