[flake8-comprehensions
] Handled special case for C401
which also matches C416
#10596
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
Similar to #10419, there was a case where there is a collision of C401 and C416 (as discussed in #10101).
Fixed this by implementing short-circuit for the comprehension of the form
{x for x in foo}
.Test Plan
Extended
C401.py
with the case whereset
is not builtin function, and divided the case where the short-circuit should occur.Removed the last testcase of
print(f"{ {set(a for a in 'abc')} }")
test as this is invalid as a python code, but should I keep this?