mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-19 01:50:38 +00:00
Disallow newlines in format specifiers of single quoted f- or t-strings (#18708)
This commit is contained in:
parent
23261a38a0
commit
1188ffccc4
17 changed files with 521 additions and 513 deletions
|
@ -0,0 +1,168 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: "lex_invalid(source, Mode::Module)"
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
NonLogicalNewline,
|
||||
0..1,
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
1..3,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
3..5,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
5..6,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
15..16,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("__"),
|
||||
),
|
||||
16..18,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
18..19,
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
19..20,
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
20..22,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
22..24,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
25..26,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
30..31,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
31..32,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
32..33,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
33..34,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("b"),
|
||||
),
|
||||
42..43,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
43..44,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
44..45,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("__"),
|
||||
),
|
||||
45..47,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
47..48,
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
48..49,
|
||||
),
|
||||
]
|
||||
```
|
||||
## Errors
|
||||
```
|
||||
[
|
||||
LexicalError {
|
||||
error: FStringError(
|
||||
NewlineInFormatSpec,
|
||||
),
|
||||
location: 13..14,
|
||||
},
|
||||
LexicalError {
|
||||
error: UnclosedStringError,
|
||||
location: 18..19,
|
||||
},
|
||||
LexicalError {
|
||||
error: FStringError(
|
||||
NewlineInFormatSpec,
|
||||
),
|
||||
location: 32..33,
|
||||
},
|
||||
LexicalError {
|
||||
error: UnclosedStringError,
|
||||
location: 47..48,
|
||||
},
|
||||
]
|
||||
```
|
|
@ -139,157 +139,5 @@ expression: lex_source(source)
|
|||
Newline,
|
||||
67..68,
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
68..70,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
70..72,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
72..73,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
73..74,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
78..79,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
79..80,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"d",
|
||||
),
|
||||
80..81,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
81..82,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
82..83,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
83..85,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
FStringEnd,
|
||||
85..86,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
86..87,
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
87..89,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
89..91,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
91..92,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
92..93,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
97..98,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
98..99,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"a",
|
||||
),
|
||||
99..100,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
100..101,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("b"),
|
||||
),
|
||||
109..110,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
110..111,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
111..112,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
112..114,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
FStringEnd,
|
||||
114..115,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
115..116,
|
||||
),
|
||||
]
|
||||
```
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: "lex_invalid(source, Mode::Module)"
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
NonLogicalNewline,
|
||||
0..1,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
1..3,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
3..5,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
5..6,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
15..16,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("__"),
|
||||
),
|
||||
16..18,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
18..19,
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
19..20,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
20..22,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
22..24,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
25..26,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
30..31,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
31..32,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
32..33,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
33..34,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("b"),
|
||||
),
|
||||
42..43,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
43..44,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
44..45,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("__"),
|
||||
),
|
||||
45..47,
|
||||
),
|
||||
(
|
||||
Unknown,
|
||||
47..48,
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
48..49,
|
||||
),
|
||||
]
|
||||
```
|
||||
## Errors
|
||||
```
|
||||
[
|
||||
LexicalError {
|
||||
error: TStringError(
|
||||
NewlineInFormatSpec,
|
||||
),
|
||||
location: 13..14,
|
||||
},
|
||||
LexicalError {
|
||||
error: UnclosedStringError,
|
||||
location: 18..19,
|
||||
},
|
||||
LexicalError {
|
||||
error: TStringError(
|
||||
NewlineInFormatSpec,
|
||||
),
|
||||
location: 32..33,
|
||||
},
|
||||
LexicalError {
|
||||
error: UnclosedStringError,
|
||||
location: 47..48,
|
||||
},
|
||||
]
|
||||
```
|
|
@ -139,157 +139,5 @@ expression: lex_source(source)
|
|||
Newline,
|
||||
67..68,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
68..70,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
70..72,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
72..73,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
73..74,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
78..79,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
79..80,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"d",
|
||||
),
|
||||
80..81,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
81..82,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
82..83,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
83..85,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
85..86,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
86..87,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
87..89,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
89..91,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
91..92,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
92..93,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
97..98,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
98..99,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"a",
|
||||
),
|
||||
99..100,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
100..101,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("b"),
|
||||
),
|
||||
109..110,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
110..111,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
111..112,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
112..114,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
114..115,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
115..116,
|
||||
),
|
||||
]
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue