Improve ruff_python_semantic::all::extract_all_names()
#11335
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.
Summary
Following 22639c5, this function now lives in the
ruff_python_semantic
crate. That means we can simplify the function's signature: where previously it required a closure to be passed in, we can now simply pass in a reference to aSemanticModel
instance. As well as simplifying the signature of the function, this also means we can make the function more accurate: it now recognises__all__ = builtins.list(["foo", "bar"])
as a valid__all__
definition, as well as__all__ = list(["foo", "bar"])
.Test Plan
I added a new pyflakes fixture.
cargo test
/cargo insta review
.