title: Is there any rule about why is the redefinition of the enumerator ill-formed?
body: <p>Consider this example</p>
  <pre class="lang-cpp prettyprint-override"><code>enum class A{
      a = 0,
      a = 1
  };
  </code></pre>
  <p>The <a href="https://godbolt.org/z/v3xaTh6Mq" rel="nofollow noreferrer">compilers</a> will report an error, which is the &quot;redefinition of enumerator 'a'&quot;. However, <a href="https://eel.is/c++draft/basic.def.odr#1" rel="nofollow noreferrer">[basic.def.odr#1]</a> does not have any requirement for the <strong>enumerator</strong></p>
  <blockquote>
  <p>No translation unit shall contain more than one <strong>definition</strong> of any variable, function, class type, enumeration type, template, default argument for a parameter (for a function in a given scope), or default template argument.</p>
  </blockquote>
  <p>I wonder which normative rule, in the standard, is restricting that?</p>