From 2ad6ca581da28a547b33d93f1a9855974a8b15c1 Mon Sep 17 00:00:00 2001 From: Stevie Hryciw Date: Sun, 6 Aug 2023 18:23:28 -0700 Subject: [PATCH] Add behavior test for copying self-referential struct Closes #6312. In the C++ implementation this caused a stack overflow from infinite recursion during analysis. --- test/behavior/bugs/6305.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 test/behavior/bugs/6305.zig diff --git a/test/behavior/bugs/6305.zig b/test/behavior/bugs/6305.zig new file mode 100644 index 0000000000..6912944ad1 --- /dev/null +++ b/test/behavior/bugs/6305.zig @@ -0,0 +1,10 @@ +const ListNode = struct { + next: ?*const @This() = null, +}; + +test "copy array of self-referential struct" { + comptime var nodes = [_]ListNode{ .{}, .{} }; + nodes[0].next = &nodes[1]; + const copy = nodes; + _ = copy; +}