template T f (T x) { static union { T i; }; T j = i; i = x; return j; }