We used the metaclass EnumMeta/EnumType to override reporting of missing enum values (to give the full set of supported activations). However, in Python 3.12.3, the default value of the name parameter of EnumType.__call__ method was changed from None to _not_given:
Even though this is a public API (which now uses a private default value), it seems too risky to continue using it. So in this change, we implement Enum.__mising__ instead for the improved error reporting.
Checklist
[x] I confirm that I have the right to submit this contribution under the project's MIT license.
Description
We used the metaclass
EnumMeta
/EnumType
to override reporting of missing enum values (to give the full set of supported activations). However, in Python 3.12.3, the default value of thename
parameter ofEnumType.__call__
method was changed fromNone
to_not_given
:https://github.com/python/cpython/commit/d771729679d39904768f60b3352e02f5f491966c
Even though this is a public API (which now uses a private default value), it seems too risky to continue using it. So in this change, we implement
Enum.__mising__
instead for the improved error reporting.Checklist