[pyupgrade] Ignore strings with string-only escapes (UP012)#16058
Merged
dylwil3 merged 2 commits intoastral-sh:mainfrom Apr 2, 2026
Merged
[pyupgrade] Ignore strings with string-only escapes (UP012)#16058dylwil3 merged 2 commits intoastral-sh:mainfrom
pyupgrade] Ignore strings with string-only escapes (UP012)#16058dylwil3 merged 2 commits intoastral-sh:mainfrom
Conversation
Contributor
|
MichaReiser
previously requested changes
Feb 10, 2025
crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs
Outdated
Show resolved
Hide resolved
crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs
Outdated
Show resolved
Hide resolved
crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs
Outdated
Show resolved
Hide resolved
crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs
Outdated
Show resolved
Hide resolved
crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs
Outdated
Show resolved
Hide resolved
dscorbett
reviewed
Oct 28, 2025
crates/ruff_linter/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs
Outdated
Show resolved
Hide resolved
amyreese
previously requested changes
Oct 29, 2025
Member
amyreese
left a comment
There was a problem hiding this comment.
Needs a rebase or merge from latest main.
Contributor
Author
|
@amyreese I'll rebase this PR if someone from Astral (like you or Micha) confirms that it will be reviewed. |
Member
|
Yes, it will be reviewed after rebasing. |
Contributor
Author
|
@amyreese Rebased. |
dylwil3
approved these changes
Apr 2, 2026
Collaborator
dylwil3
left a comment
There was a problem hiding this comment.
Looks good to me, sorry for the delay in reviewing!
carljm
added a commit
that referenced
this pull request
Apr 2, 2026
* main: Add a "release-gate" step to the release workflow (#24365) Disallow starred expressions as values of starred expressions (#24280) [`pyupgrade`] Ignore strings with string-only escapes (`UP012`) (#16058) [ty] Improve consistency and quality of diagnostics relating to invalid type forms (#24325) [flake8-type-checking] Clarify import cycle wording for TC001/TC002/TC003 (#24322) [`flake8-errmsg`] Avoid shadowing existing `msg` in fix for `EM101` (#24363) `RUF072`: skip formfeeds on dedent (#24308) Replace unmaintained `unic-ucd-category` crate with `icu_properties` (#24344) [ty] Replace markdown hard line breaks in snapshot tests (#24361) [ty] Move snapshot for code action test with trailing whitespace to external file (#24359)
This was referenced Apr 3, 2026
dylwil3
added a commit
that referenced
this pull request
Apr 3, 2026
This fixes two errors introduced by #16058 : - An off-by-one error caused a panic when `UP012` was run on strings ending in an octal (and could also cause the rule to trigger when it should not, e.g. for `"\000\N{DIGIT ONE}"`). - When checking that an octal `\abc` was not larger than `\377`, it was parsed using `"abc".parse::<u8>()`. But this uses base 10. We need to use `u8::from_str_radix("abc",8)` instead. Closes #24389
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
Resolves #12753.
After this change,
UP012will no longer report strings containing any of the following:\N{NAME})\u0000) and long (\U00000000) Unicode escapes\0,\00,\000) where the codepoint value is greater than 255 (3778)Test Plan
cargo nextest runandcargo insta test.