mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-03 10:22:24 +00:00
[red-knot] Fix panic related to f-strings in annotations (#14613)
## Summary Fix panics related to expressions without inferred types in invalid syntax examples like: ```py x: f"Literal[{1 + 2}]" = 3 ``` where the `1 + 2` expression (and its sub-expressions) inside the annotation did not have an inferred type. ## Test Plan Added new corpus test.
This commit is contained in:
parent
cd0c97211c
commit
b94d6cf567
3 changed files with 3 additions and 1 deletions
|
@ -4229,6 +4229,7 @@ impl<'db> TypeInferenceBuilder<'db> {
|
|||
"annotation-f-string",
|
||||
format_args!("Type expressions cannot use f-strings"),
|
||||
);
|
||||
self.infer_fstring_expression(fstring);
|
||||
Type::Unknown
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
x: f"Literal[{1 + 2}]" = 3
|
|
@ -272,7 +272,7 @@ const KNOWN_FAILURES: &[(&str, bool, bool)] = &[
|
|||
("crates/ruff_linter/resources/test/fixtures/pyupgrade/UP039.py", true, false),
|
||||
// related to circular references in type aliases (salsa cycle panic):
|
||||
("crates/ruff_python_parser/resources/inline/err/type_alias_invalid_value_expr.py", true, true),
|
||||
// related to f-strings in annotations (invalid syntax)
|
||||
// related to circular references in f-string annotations (invalid syntax)
|
||||
("crates/ruff_linter/resources/test/fixtures/pyflakes/F821_15.py", true, true),
|
||||
("crates/ruff_linter/resources/test/fixtures/pyflakes/F821_14.py", false, true),
|
||||
];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue