<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#330033" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 5/5/2013 7:14 PM, Nick Coghlan
      wrote:<br>
    </div>
    <blockquote
cite="mid:CADiSq7eYWmRt92wGoyg8n+tFZ2S9Ln2k+gHfM-L-QbhCUh-qRQ@mail.gmail.com"
      type="cite">
      <pre wrap="">I think there comes a point where "subclass the metaclass" is the
right answer to "how do I do X with this type?". I believe making two
different kinds of value labelling mechanisms play nice is such a case
<span class="moz-smiley-s1" title=":)"><span>:)</span></span></pre>
    </blockquote>
    <br>
    Could be.<br>
    <br>
    Could be that sufficient operators added to an IntEnum subclass
    might work too. Although it might be unexpected that adding two
    enumeration members would produce a NamedInt :)  But of course, if
    the enumeration were defined by NamedIntEnum, it might be less
    surprising.<br>
    <br>
    On the other hand, if Enum is in stdlib, and lots of flags
    parameters get defined with Enum, then it would be a pain in the
    neck to redefine them with NamedIntEnum, so that debugging of flag
    combinations is easier. There are enough flag parameters in the
    stdlib APIs to make me think this would be a deficiency.<br>
    <br>
    Sadly, once the Enums are defined, there is to be no way to subclass
    them to add functionality, like producing a NamedInt result from
    operations on them.<br>
  </body>
</html>