struct S { int x; double y; }; [void] ?{}(* [int, double] this, S s) { this->0 = s.x; this->1 = s.y; } int main() { S s = { 123, 345 }; [int, double] x = s; printf("%d %g\n", x); }