title: Meaning of 6.3.1.1p2, bullet point 2
body: <p><a href="http://port70.net/%7Ensz/c/c11/n1570.html#6.3.1.1p2" rel="nofollow noreferrer">6.3.1.1p2</a> says</p>
  <blockquote>
  <p>The following may be used in an expression wherever an <code>int</code> or <code>unsigned int</code> may be used:</p>
  <ul>
  <li><p>An object or expression with an integer type (other than <code>int</code> or <code>unsigned int</code>) whose integer conversion rank is less than or equal to the rank of <code>int</code> and <code>unsigned int</code>.</p>
  </li>
  <li><p>A bit-field of type <code>_Bool</code>, <code>int</code>, <code>signed int</code>, or <code>unsigned int</code>.</p>
  </li>
  </ul>
  </blockquote>
  <p>What's the intention behind the second bullet point?</p>
  <p>Why leave out integer fields of other types whose rank is less than that of <code>int</code>?</p>
  <p>Does it mean that I can do e.g.:</p>
  <pre><code>printf(&quot;%d\n&quot;, (struct{ _Bool x:1; }){0}.x);
  </code></pre>
  <p>but not:</p>
  <pre><code>printf(&quot;%d\n&quot;, (struct{ unsigned short x:1; }){0}.x);
  </code></pre>