#include int n = 10; struct T2 { double a[n]; }; struct T { int a; int b; struct { int c; }; struct T2 d[10]; $domain(1) e[2]; union T3 { int f; int g; char * h; } u; }; int main() { $range r = 0 .. 2; struct T t = {1, 2, .e={($domain){r}, ($domain){r}}, {.h="abc"}}; assert(t.a == 1); assert(t.b == 2); assert($forall (int i : 0 .. 9) $forall (int j : 0 .. n-1) t.d[i].a[j] == 0); assert(t.u.h[0] == 'a' && t.u.h[1] == 'b' && t.u.h[2] == 'c' && t.u.h[3] == 0); return 0; }