zig/test/behavior/struct_contains_null_ptr_itself.zig

27 lines
604 B
Zig

const std = @import("std");
const expect = std.testing.expect;
const builtin = @import("builtin");
test "struct contains null pointer which contains original struct" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
var x: ?*NodeLineComment = null;
_ = &x;
try expect(x == null);
}
pub const Node = struct {
id: Id,
comment: ?*NodeLineComment,
pub const Id = enum {
Root,
LineComment,
};
};
pub const NodeLineComment = struct {
base: Node,
};