const std = @import("std"); const B = union(enum).{ c: C, None, }; const A = struct.{ b: B, }; const C = struct.{}; test "tagged union with all void fields but a meaningful tag" { var a: A = A.{ .b = B.{ .c = C.{} } }; std.debug.assert(@TagType(B)(a.b) == @TagType(B).c); a = A.{ .b = B.None }; std.debug.assert(@TagType(B)(a.b) == @TagType(B).None); }