[pyupgrade] Reuse replacement logic from UP046 and UP047 (UP040)#15840
Merged
[pyupgrade] Reuse replacement logic from UP046 and UP047 (UP040)#15840
pyupgrade] Reuse replacement logic from UP046 and UP047 (UP040)#15840Conversation
Contributor
|
ntBre
commented
Jan 30, 2025
| @@ -208,9 +227,9 @@ pub(crate) fn non_pep695_type_alias(checker: &mut Checker, stmt: &StmtAnnAssign) | |||
| } | |||
Contributor
Author
Member
There was a problem hiding this comment.
Ooh interesting, this might well be done now. I can check in the morning. Doesn't need to hold up this PR though, I don't think!
Member
There was a problem hiding this comment.
Yeah, this TODO seems done!
Contributor
Author
There was a problem hiding this comment.
Awesome! I'll delete it and then get ready to merge. Thanks again for the review and for checking this!
AlexWaygood
approved these changes
Jan 30, 2025
Member
AlexWaygood
left a comment
There was a problem hiding this comment.
Fantastic! Simplifies the code, improves the quality of the fix, improves the rule's docs and improves our test coverage 🚀
7 tasks
dcreager
added a commit
that referenced
this pull request
Jan 31, 2025
* main: [`flake8-pyi`] Fix several correctness issues with `custom-type-var-return-type` (`PYI019`) (#15851) [`pyupgrade`] Reuse replacement logic from `UP046` and `UP047` (`UP040`) (#15840) [`refurb`] Avoid `None | None` as well as better detection and fix (`FURB168`) (#15779) Remove non-existing `lint.extendIgnore` editor setting (#15844) [`refurb`] Mark fix as unsafe if there are comments (`FURB171`) (#15832) [`flake8-comprehensions`] Skip when `TypeError` present from too many (kw)args for `C410`,`C411`, and `C418` (#15838) [`pyflakes`] Visit forward annotations in `TypeAliasType` as types (`F401`) (#15829)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
This is a follow-up to #15565, tracked in #15642, to reuse the string replacement logic from the other PEP 695 rules instead of the
Generator, which has the benefit of preserving more comments. However, comments in some places are still dropped, so I added a check for this and update the fix safety accordingly. I also added a## Fix safetysection to the docs to reflect this and the existingisinstancecaveat.Test Plan
Existing UP040 tests, plus some new cases.