-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavior
Milestone
Description
Zig Version
0.11.0
Steps to Reproduce and Observed Behavior
With the following zig code:
const ecs_iter_next_action_t = ?*const fn (*ecs_iter_t) void;
const ecs_iter_t = struct { next: ecs_iter_next_action_t };
test {
_ = ecs_iter_next_action_t;
}
pub fn main() void {
var it = ecs_iter_t{ .next = &next_action };
it.next.?(&it);
}
fn next_action(it: *ecs_iter_t) void {
@import("std").debug.print("{any}\n", .{it});
}Running zig run yields the expected output:
main.ecs_iter_t{ .next = fn(*main.ecs_iter_t) void@220780 }
However when running zig test (here with -freference-trace), I get a dependency loop error:
main.zig:1:1: error: dependency loop detected
const ecs_iter_next_action_t = ?*const fn (*ecs_iter_t) void;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referenced by:
ecs_iter_t: main.zig:2:20
ecs_iter_next_action_t: main.zig:1:45
ecs_iter_t: main.zig:2:35
Expected Behavior
No dependency loop.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavior