type ( P1 = ^S1 P2 = ^S2 S1 = struct { x: int next: P1 } S2 = struct { x: int next: P2 } ) fn main() { var p1 : P1 p1 = new(S2) }