8000 bpo-40025: Require _generate_next_value_ to be defined before members by abbyonstott · Pull Request #19098 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

bpo-40025: Require _generate_next_value_ to be defined before members #19098

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 28, 2020
3 changes: 3 additions & 0 deletions Lib/enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ def __setitem__(self, key, value):
):
raise ValueError('_names_ are reserved for future Enum use')
if key == '_generate_next_value_':
# check if members already defined
if len(self._member_names) > len(dir(super)):
raise TypeError("_generate_next_value_ must be defined before members")
setattr(self, '_generate_next_value', value)
elif key == '_ignore_':
if isinstance(value, str):
Expand Down
1 change: 1 addition & 0 deletions Misc/ACKS
Original file line number Diff line number Diff line change
Expand Up @@ -1236,6 +1236,7 @@ Adam Olsen
Bryan Olson
Grant Olson
Koray Oner
Ethan Onstott
Piet van Oostrum
Tomas Oppelstrup
Jason Orendorff
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Throw error when _generate_next_value_ is defined after members. Patch by Ethan Onstott.
0