import "libc"; T :: struct { a: int; t2: T2; } T2 :: struct { b: int; } T3 :: struct { om: T; } main :: proc(): int { t: T; a := t.a; @unused b := (t).a; @unused i0 := :T{10}.a; i1 := :T{}.t2.b; i2 := :T{t2={1}}.t2; assert(i0 == 10); assert(i1 == 0); assert(i2.b == 1); assert(t.t2.b == 0); i3: T3; i3.om.a = 10; i3.om.t2.b = 10; return 0; }