int a = 3;
struct { int x; int y; } z = { 3, 7 };      /* OK */
struct { int x; int y; } z1 = { .[x,y]:3 }; /* OK */
struct { int x; int y; } z2 = { y:3, x:4 }; /* OK */
struct { int x; struct { int y1; int y2; } y; } z3 = { x:3, y:{y1:4, y2:5} };  /* OK */
struct { int x; struct { int y1; int y2; } y; } z3 = { y:{y2:9, y1:8}, x:7 };  /* OK */
struct { int x; struct { int y1; int y2; } y; } z3 = { x:7, {y2:9, y1:8} };  /* OK */
struct { int x; struct { int y1; int y2; } y; } z3 = { 3, {4, 5} };   /* OK */
//struct { int x; struct { int y1; int y2; } } z3 = {4, {5,6}};
//struct { int x; struct { int y1; int y2; } y; } z4 = { y:{4,5}, a:3 };
//struct { int x; struct { int y1; int y2; } y; } z5 = { a:3, {4,5}};
//int x[20] = { [10]: 4 };
struct t { int a, b; };
struct t x = { b:4, a:3 };
struct { int x; int y; } z6= {5,6,4};  /* (should be an) error */
