bpo-38967: Improve the error msg for reserved _sunder_ names in enum (GH-18370)
diff --git a/Lib/enum.py b/Lib/enum.py
index 49b552b..bc24f2a 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -76,7 +76,8 @@
'_order_', '_create_pseudo_member_',
'_generate_next_value_', '_missing_', '_ignore_',
):
- raise ValueError('_names_ are reserved for future Enum use')
+ raise ValueError(f'_sunder_ names, such as "{key}", are '
+ 'reserved for future Enum use')
if key == '_generate_next_value_':
# check if members already defined as auto()
if self._auto_called:
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index e7bad62..b18f3b3 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -419,6 +419,11 @@
green = 2
blue = 3
+ def test_reserved__sunder_(self):
+ with self.assertRaisesRegex(ValueError, '_sunder_ names, such as '
+ '"_bad_", are reserved'):
+ class Bad(Enum):
+ _bad_ = 1
def test_enum_with_value_name(self):
class Huh(Enum):