What is the point of this condition found in the implementation of std::common_type?
<p>Below is one of the specializations of <a href="http://en.cppreference.com/w/cpp/types/common_type" rel="nofollow"><code>std::common_type</code></a>.</p>

<pre><code>template &lt;class T, class U&gt;
struct common_type&lt;T, U&gt; {
    typedef decltype(true ? declval&lt;T&gt;() : declval&lt;U&gt;()) type;
};
</code></pre>

<p>My notion is that the conditional statement is unnecessary. If it's checking against <code>true</code>, won't the expression invariably resolve to <code>declval&lt;T&gt;()</code>? And if so, how does the returned typedef justify the definition...</p>

<blockquote>
  <p>"Determines the common type among all types <code>T...</code>, that is the type all <code>T...</code> can be implicitly converted to."</p>
</blockquote>

<p>Can someone please explain the conditional statement? Is it accurate that the check against <code>true</code> is superfluous, and that the condition will <em>always</em> resolve to the first operand? And if so, how does the type that is returned satisfy the definition?</p>
