const std = @import("std"); const testing = std.testing; const expect = testing.expect; const expectEqual = testing.expectEqual; test "passing an optional integer as a parameter" { const S = struct { fn entry() bool { var x: i32 = 1234; return foo(x); } fn foo(x: ?i32) bool { return x.? == 1234; } }; try expect(S.entry()); comptime try expect(S.entry()); } test "self-referential struct through a slice of optional" { const S = struct { const Node = struct { children: []?Node, data: ?u8, fn new() Node { return Node{ .children = undefined, .data = null, }; } }; }; var n = S.Node.new(); try expect(n.data == null); }