// $Id$ enum FooDisc { FOO1, FOO2 }; union Foo switch (FooDisc) { case FOO1: long x; case FOO2: string y; default: char z; }; struct Bar { enum BarDisc { BAR1, BAR2 } kind; union Foo switch (BarDisc) { case BAR1: long x; case BAR2: long y; } addr; };