mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 02:38:25 +00:00
![]() ## Summary When we format the trailing comments on a clause body, we check if there are any newlines after the last statement; if not, we insert one. This logic didn't take into account that the last statement could itself have trailing comments, as in: ```python if True: pass # comment else: pass ``` We were thus inserting a newline after the comment, like: ```python if True: pass # comment else: pass ``` In the context of function definitions, this led to an instability, since we insert a newline _after_ a function, which would in turn lead to the bug above appearing in the second formatting pass. Closes https://github.com/astral-sh/ruff/issues/7465. ## Test Plan `cargo test` Small improvement in `transformers`, but no regressions. Before: | project | similarity index | total files | changed files | |--------------|------------------:|------------------:|------------------:| | cpython | 0.76083 | 1789 | 1631 | | django | 0.99983 | 2760 | 36 | | transformers | 0.99956 | 2587 | 404 | | twine | 1.00000 | 33 | 0 | | typeshed | 0.99983 | 3496 | 18 | | warehouse | 0.99967 | 648 | 15 | | zulip | 0.99972 | 1437 | 21 | After: | project | similarity index | total files | changed files | |--------------|------------------:|------------------:|------------------:| | cpython | 0.76083 | 1789 | 1631 | | django | 0.99983 | 2760 | 36 | | **transformers** | **0.99957** | **2587** | **402** | | twine | 1.00000 | 33 | 0 | | typeshed | 0.99983 | 3496 | 18 | | warehouse | 0.99967 | 648 | 15 | | zulip | 0.99972 | 1437 | 21 | |
||
---|---|---|
.. | ||
snapshots | ||
fixtures.rs |