[bugfix] Fix the call order on the __set_name__ hook for built-in variables
#1881
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When declaring a variable with the
variablebuilt-in, the corresponding__set_name__hook was only called if needed by the__getitem__method of the metaclass. This is because the variables are temporarily hidden away in their own namespace, and the__set_name__hooks from these variables don't get called by the base metaclasstype.Hence, it is a bit counterintuitive (if not just plainly wrong) that things get set when calling the
__getitem__method; so now the__set_name__hook is called unconditionally for all variables in the__setitem__method of the metaclass.