Revert "Avoid inserting trailing commas within f-strings" (#8576)

Reverts astral-sh/ruff#8574. This caused a bunch of ecosystem changes --
needs more work.
This commit is contained in:
Charlie Marsh 2023-11-08 21:02:04 -08:00 committed by GitHub
parent 9d1027c239
commit 9e184a9067
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 24 deletions

View file

@ -42,7 +42,7 @@ foo = (
4, 4,
) )
foo = 3, foo = 3,
class A(object): class A(object):
foo = 3 foo = 3
@ -639,10 +639,3 @@ foo = namedtuple(
:20 :20
], ],
) )
# Make sure we don't insert commas within f-strings.
f"""This is a test. {
"Another sentence."
if True else
"Alternative route!"
}"""

View file

@ -223,24 +223,11 @@ pub(crate) fn trailing_commas(
tokens: &[LexResult], tokens: &[LexResult],
locator: &Locator, locator: &Locator,
) { ) {
let mut fstrings = 0u32;
let tokens = tokens let tokens = tokens
.iter() .iter()
.flatten() .flatten()
.filter(|(tok, _)| match tok { // Completely ignore comments -- they just interfere with the logic.
// Completely ignore comments -- they just interfere with the logic. .filter(|&r| !matches!(r, (Tok::Comment(_), _)))
Tok::Comment(_) => false,
// Ignore content within f-strings.
Tok::FStringStart => {
fstrings = fstrings.saturating_add(1);
false
}
Tok::FStringEnd => {
fstrings = fstrings.saturating_sub(1);
false
}
_ => fstrings == 0,
})
.map(Token::from_spanned); .map(Token::from_spanned);
let tokens = [Token::irrelevant(), Token::irrelevant()] let tokens = [Token::irrelevant(), Token::irrelevant()]
.into_iter() .into_iter()

View file

@ -106,7 +106,7 @@ COM81.py:45:8: COM818 Trailing comma on bare tuple prohibited
| |
43 | ) 43 | )
44 | 44 |
45 | foo = 3, 45 | foo = 3,
| ^ COM818 | ^ COM818
46 | 46 |
47 | class A(object): 47 | class A(object):