ruff/crates
Brent Westbrook 318f503714
[syntax-errors] Named expressions in decorators before Python 3.9 (#16386)
Summary
--

This PR detects the relaxed grammar for decorators proposed in [PEP
614](https://peps.python.org/pep-0614/) on Python 3.8 and lower.

The 3.8 grammar for decorators is
[here](https://docs.python.org/3.8/reference/compound_stmts.html#grammar-token-decorators):

```
decorators                ::=  decorator+
decorator                 ::=  "@" dotted_name ["(" [argument_list [","]] ")"] NEWLINE
dotted_name               ::=  identifier ("." identifier)*
```

in contrast to the current grammar
[here](https://docs.python.org/3/reference/compound_stmts.html#grammar-token-python-grammar-decorators)

```
decorators                ::= decorator+
decorator                 ::= "@" assignment_expression NEWLINE
assignment_expression ::= [identifier ":="] expression
```

Test Plan
--

New inline parser tests.
2025-03-05 17:08:18 +00:00
..
red_knot ruff_db: rename Diagnostic to OldDiagnosticTrait 2025-03-05 08:23:02 -05:00
red_knot_project ruff_db: move ParseDiagnostic to old submodule too 2025-03-05 08:23:02 -05:00
red_knot_python_semantic ruff_db: rename Diagnostic to OldDiagnosticTrait 2025-03-05 08:23:02 -05:00
red_knot_server ruff_db: rename Diagnostic to OldDiagnosticTrait 2025-03-05 08:23:02 -05:00
red_knot_test ruff_db: move ParseDiagnostic to old submodule too 2025-03-05 08:23:02 -05:00
red_knot_vendored Sync vendored typeshed stubs (#16448) 2025-03-01 08:21:03 +01:00
red_knot_wasm ruff_db: rename Diagnostic to OldDiagnosticTrait 2025-03-05 08:23:02 -05:00
ruff Formatter: Fix syntax error location in notebooks (#16499) 2025-03-04 18:00:31 +01:00
ruff_annotate_snippets Update pre-commit dependencies (#16465) 2025-03-03 13:10:46 +05:30
ruff_benchmark ruff_db: rename Diagnostic to OldDiagnosticTrait 2025-03-05 08:23:02 -05:00
ruff_cache
ruff_db ruff_db: add new Diagnostic type 2025-03-05 08:23:02 -05:00
ruff_dev Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_diagnostics Show errors for attempted fixes only when passed --verbose (#15237) 2025-01-03 08:50:13 -06:00
ruff_formatter bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_graph Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_index [red-knot] Don't use separate ID types for each alist (#16415) 2025-02-28 14:55:55 -05:00
ruff_linter Document LinterResult::has_syntax_error and add Parsed::has_no_syntax_errors (#16443) 2025-03-04 08:35:38 -05:00
ruff_macros Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
ruff_notebook bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_ast Auto generate ast expression nodes (#16285) 2025-03-05 08:25:55 -05:00
ruff_python_ast_integration_tests Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_codegen Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_formatter bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_index
ruff_python_literal Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
ruff_python_parser [syntax-errors] Named expressions in decorators before Python 3.9 (#16386) 2025-03-05 17:08:18 +00:00
ruff_python_resolver bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_semantic bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_stdlib Revert "Add all PEP-585 names to UP006 rule" (#15250) 2025-01-04 12:23:53 +01:00
ruff_python_trivia [red-knot] Ignore surrounding whitespace when looking for <!-- snapshot-diagnostics --> directives in mdtests (#16380) 2025-02-27 13:25:31 +00:00
ruff_python_trivia_integration_tests Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_server Escape template filenames in glob patterns (#16407) 2025-03-03 09:29:58 -05:00
ruff_source_file
ruff_text_size [ruff] itertools.starmap(..., zip(...)) (RUF058) (#15483) 2025-01-16 15:18:12 +01:00
ruff_wasm Bump version to Ruff 0.9.9 (#16434) 2025-02-28 10:17:38 +01:00
ruff_workspace Escape template filenames in glob patterns (#16407) 2025-03-03 09:29:58 -05:00