mirror of https://github.com/astral-sh/ruff
## Summary Resolves #20004 The implementation now supports guaranteed-mutable expressions in the following cases: - Tuple literals with mutable elements (supporting deep nesting) - Generator expressions - Named expressions (walrus operator) containing mutable components Preserves original formatting for assignment value: ```python # Test case def f5(x=([1, ])): print(x) ``` ```python # Fix before def f5(x=(None)): if x is None: x = [1] print(x) ``` ```python # Fix after def f5(x=None): if x is None: x = ([1, ]) print(x) ``` The expansion of detected expressions and the new fixes gated behind previews. ## Test Plan - Added B006_9.py with a bunch of test cases - Generated snapshots --------- Co-authored-by: Igor Drokin <drokinii1017@gmail.com> Co-authored-by: dylwil3 <dylwil3@gmail.com> |
||
|---|---|---|
| .. | ||
| resources | ||
| src | ||
| Cargo.toml | ||