ruff/crates
Robsdedude 1079975b35
[ruff] Fix RUF033 breaking with named default expressions (#19115)
## Summary
The generated fix for `RUF033` would cause a syntax error for named
expressions as parameter defaults.
```python
from dataclasses import InitVar, dataclass
@dataclass
class Foo:
    def __post_init__(self, bar: int = (x := 1)) -> None:
        pass
```
would be turned into
```python
from dataclasses import InitVar, dataclass
@dataclass
class Foo:
    x: InitVar[int] = x := 1
    def __post_init__(self, bar: int = (x := 1)) -> None:
        pass
```
instead of the syntactically correct
```python
# ...
x: InitVar[int] = (x := 1)
# ...
```

## Test Plan
Test reproducer (plus some extra tests) have been added to the test
suite.

## Related
Fixes: https://github.com/astral-sh/ruff/issues/18950
2025-07-24 09:45:49 -04:00
..
ruff Bump 0.12.5 (#19528) 2025-07-24 09:12:50 -04:00
ruff_annotate_snippets Update Rust toolchain to 1.88 and MSRV to 1.86 (#19011) 2025-06-28 20:24:00 +02:00
ruff_benchmark [ty] Add support for @warnings.deprecated (#19376) 2025-07-18 23:50:29 +00:00
ruff_cache
ruff_db Move concise diagnostic rendering to ruff_db (#19398) 2025-07-23 11:43:32 -04:00
ruff_dev Auto-generate environment variable references for ty (#19205) 2025-07-08 10:48:31 -04:00
ruff_diagnostics Combine OldDiagnostic and Diagnostic (#19053) 2025-07-03 13:01:09 -04:00
ruff_formatter
ruff_graph [ty] Make Module a Salsa ingredient 2025-07-23 09:46:40 -04:00
ruff_index Update Rust toolchain to 1.88 and MSRV to 1.86 (#19011) 2025-06-28 20:24:00 +02:00
ruff_linter [ruff] Fix RUF033 breaking with named default expressions (#19115) 2025-07-24 09:45:49 -04:00
ruff_macros [ty] Merge ty_macros into ruff_macros (#19229) 2025-07-09 11:28:21 +00:00
ruff_notebook
ruff_options_metadata
ruff_python_ast [ty] Implemented partial support for "find references" language server feature. (#19475) 2025-07-23 09:16:22 -07:00
ruff_python_ast_integration_tests
ruff_python_codegen Fix f-string interpolation escaping (#18882) 2025-06-25 10:04:15 +02:00
ruff_python_formatter Update pre-commit dependencies (#19162) 2025-07-07 04:07:44 +00:00
ruff_python_index
ruff_python_literal
ruff_python_parser Fix unreachable panic in parser (#19183) 2025-07-20 22:04:14 +00:00
ruff_python_semantic [ty] Make Module a Salsa ingredient 2025-07-23 09:46:40 -04:00
ruff_python_stdlib
ruff_python_trivia
ruff_python_trivia_integration_tests
ruff_server Move fix suggestion to subdiagnostic (#19464) 2025-07-22 10:03:58 -04:00
ruff_source_file Move Pylint rendering to ruff_db (#19340) 2025-07-15 10:14:49 -04:00
ruff_text_size [ty] Add environment variable to dump Salsa memory usage stats (#18928) 2025-06-26 21:27:51 +00:00
ruff_wasm Bump 0.12.5 (#19528) 2025-07-24 09:12:50 -04:00
ruff_workspace [flake8-type-checking, pyupgrade, ruff] Add from __future__ import annotations when it would allow new fixes (TC001, TC002, TC003, UP037, RUF013) (#19100) 2025-07-16 08:50:52 -04:00
ty Move concise diagnostic rendering to ruff_db (#19398) 2025-07-23 11:43:32 -04:00
ty_ide [ty] Implemented partial support for "find references" language server feature. (#19475) 2025-07-23 09:16:22 -07:00
ty_project [ty] Invert ty_ide and ty_project dependency (#19501) 2025-07-23 07:37:46 +00:00
ty_python_semantic [ty] Rename type_api => ty_extensions (#19523) 2025-07-24 08:24:26 +00:00
ty_server [ty] Implemented partial support for "find references" language server feature. (#19475) 2025-07-23 09:16:22 -07:00
ty_static [ty] Merge ty_macros into ruff_macros (#19229) 2025-07-09 11:28:21 +00:00
ty_test [ty] Track open files in the server (#19264) 2025-07-18 19:33:35 +05:30
ty_vendored [ty] Sync vendored typeshed stubs (#19461) 2025-07-21 14:01:42 +01:00
ty_wasm [ty] Added support for "go to references" in ty playground. (#19516) 2025-07-23 22:46:42 -07:00