<div dir="ltr">On 22 April 2013 09:02, Nick Coghlan <span dir="ltr"><<a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><p dir="ltr"><br>
On 22 Apr 2013 07:50, "Barry Warsaw" <<a href="mailto:barry@python.org" target="_blank">barry@python.org</a>> wrote:<br>
><br>
> On Apr 20, 2013, at 07:10 PM, R. David Murray wrote:<br>
><br>
> >It seems strange to limit a new Python3 feature to the Python2 feature<br>
> >set.  Just saying :)<br>
><br>
> For a critical feature sure, but I don't put __repr__ or enum item iteration<br>
> order in that category.  There's no need for gratuitous incompatibility<br>
> either, and attribute name order is just fine.</p>
</div><p dir="ltr">Iteration order matters a lot if you don't want people complaining about enums being broken:</p>
<p dir="ltr">  class Days(enum.Enum):<br>
    Monday = 1<br>
    Tuesday = 2<br>
    Wednesday = 3<br>
    Thursday = 4<br>
    Friday = 5<br>
    Saturday = 6<br>
    Sunday = 7</p></blockquote><div style>I'm fine with iteration order being by sorted name by default, so long as it's easily overrideable by enum subclasses or metaclasses e.g. an IntEnum should probably iterate in value order.</div>
<div style><br></div><div style>For definition order, a 3.x-only metaclass could be provided:</div><div style><br></div><div style>class Days(enum.Enum, metaclass=enum.DefinitionOrder):</div><div style>    Monday = 1</div>
<div style><div><div>    Tuesday = 2</div><div>    Wednesday = 3</div><div>    Thursday = 4</div><div>    Friday = 5</div><div>    Saturday = 6</div><div>    Sunday = 7</div></div><div><br></div><div style>Tim Delaney <br>
</div></div></div></div></div>