This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ethan.furman
Recipients barry, eli.bendersky, ethan.furman, zero.piraeus
Date 2017-02-16.12:29:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1487248175.0.0.787071236759.issue29577@psf.upfronthosting.co.za>
In-reply-to
Content
Possibilities:

- only allow one base Enum class
  (fails with All and IntFlag)

- only allow base Enum classes that are compatible
 (so not an Enum and a Flag)
 (would require multiple base classes for the same behavior: DocEnum,
  DocFlag, etc.)

- only allow one mixin
  (before/after that one mixin the inheritance is linear)
  (same issue as above)

- only allow one non-Enum mixin, critical Enum is last one in the bases,
  previous Enums in bases are mixins
  (all sunder/dunder methods come from critical Enum, all normal methods
  and attributes are in normal base order)

- be smarter about determining/saving the correct __new__ and base data type

The last one needs to happen, and some form of the next-to-last one (hopefully allowing for more than one non-Enum mixin).
History
Date User Action Args
2017-02-16 12:29:35ethan.furmansetrecipients: + ethan.furman, barry, eli.bendersky, zero.piraeus
2017-02-16 12:29:34ethan.furmansetmessageid: <1487248175.0.0.787071236759.issue29577@psf.upfronthosting.co.za>
2017-02-16 12:29:34ethan.furmanlinkissue29577 messages
2017-02-16 12:29:34ethan.furmancreate