title: Syntax to initialize an anonymous union
body: <p>If I declare an anonymous union in a function…</p>
  
  <pre><code>void f(int in) {
      union { int i; float f; };
      // …
  }
  </code></pre>
  
  <p>…does syntax exist to initialize it (other than assigning to <code>i</code> or <code>f</code> in another statement? A quick look at the spec suggests no. The obvious ones don’t compile:</p>
  
  <pre><code>// Nope:
  union { int i = in; float f; };
  union { int i; float f; } = in;
  union { int i; float f; } = {in};
  union { int i; float f; }{in};
  union { int i; float f; }(in);
  </code></pre>