commit a7ff042f983247e7852c47675a3fb4571a655621 (tree)
parent 63014d3819423e8fd0990b9dfedb5eba921cb9e6
Author: mlugg <mlugg@mlugg.co.uk>
Date: Wed, 26 Mar 2025 02:52:48 +0000
Zcu: include named tests in resolved references
Oops, a little typo from yours truly! No test for this one, because we
don't have any way of testing the reference trace.
Diffstat:
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/Zcu.zig b/src/Zcu.zig
@@ -3874,9 +3874,11 @@ fn resolveReferencesInner(zcu: *Zcu) !std.AutoHashMapUnmanaged(AnalUnit, ?Resolv
.unnamed_test => true,
.@"test", .decltest => a: {
const fqn_slice = nav.fqn.toSlice(ip);
- for (comp.test_filters) |test_filter| {
- if (std.mem.indexOf(u8, fqn_slice, test_filter) != null) break;
- } else break :a false;
+ if (comp.test_filters.len > 0) {
+ for (comp.test_filters) |test_filter| {
+ if (std.mem.indexOf(u8, fqn_slice, test_filter) != null) break;
+ } else break :a false;
+ }
break :a true;
},
};
@@ -3886,7 +3888,10 @@ fn resolveReferencesInner(zcu: *Zcu) !std.AutoHashMapUnmanaged(AnalUnit, ?Resolv
@intFromEnum(inst_info.inst),
});
try unit_queue.put(gpa, .wrap(.{ .nav_val = nav_id }), referencer);
- try unit_queue.put(gpa, .wrap(.{ .func = nav.status.fully_resolved.val }), referencer);
+ // Non-fatal AstGen errors could mean this test decl failed
+ if (nav.status == .fully_resolved) {
+ try unit_queue.put(gpa, .wrap(.{ .func = nav.status.fully_resolved.val }), referencer);
+ }
}
}
for (zcu.namespacePtr(ns).pub_decls.keys()) |nav| {