[Data] Replace lambda mutable default arguments #46493
Merged
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.
Why are these changes needed?
Across the code base there are a number of instances where lambda functions were being used as default arguments. Our documentation build system doesn't handle these correctly, resulting in rendering issues with docs. Additionally, functions are mutable, which means that these can have really weird/unintended behavior that is hard to debug.
This PR changes all the instances I could find where we were using a lambda function as a default argument and swaps it out according to the usual
if arg is None: arg = <lambda function>
pattern.@angelinalg Can you confirm this fixes the documentation side of things for the functions that are part of the public API?
Related issue number
Partially addresses #45129.
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.method in Tune, I've added it in
doc/source/tune/api/
under thecorresponding
.rst
file.