title: Unusual static_cast syntax
body: <p>I managed to track a bug down to the following expression:</p>
  
  <pre><code>foo(static_cast&lt;T&gt;(a, b)); // Executes specialisation 1
  </code></pre>
  
  <p>The closing bracket was in the wrong place.  The correct statement should have been:</p>
  
  <pre><code>foo(static_cast&lt;T&gt;(a), b); // Executes specialisation 2
  </code></pre>
  
  <p>I've never seen static_cast used with the form (a,b), or seen it described anywhere.  What does it mean?  The former statement returned b.</p>