diff --git a/crates/ruff_python_formatter/resources/test/fixtures/ruff/statement/import.py b/crates/ruff_python_formatter/resources/test/fixtures/ruff/statement/import.py index db6590784767fd..04bb263eaf9c22 100644 --- a/crates/ruff_python_formatter/resources/test/fixtures/ruff/statement/import.py +++ b/crates/ruff_python_formatter/resources/test/fixtures/ruff/statement/import.py @@ -56,3 +56,12 @@ def func(): x = 1 + +# Regression test for: https://github.com/astral-sh/ruff/issues/7604 +import os + +# Defaults for arguments are defined here +# args.threshold = None; + + +logger = logging.getLogger("FastProject") diff --git a/crates/ruff_python_formatter/src/statement/suite.rs b/crates/ruff_python_formatter/src/statement/suite.rs index 7573b3e397f7fb..eae1d849e21eb9 100644 --- a/crates/ruff_python_formatter/src/statement/suite.rs +++ b/crates/ruff_python_formatter/src/statement/suite.rs @@ -190,7 +190,12 @@ impl FormatRule> for FormatSuite { // a leading comment. match self.kind { SuiteKind::TopLevel => { - match lines_after_ignoring_trivia(preceding.end(), source) { + let end = if let Some(last_trailing) = preceding_comments.trailing.last() { + last_trailing.end() + } else { + preceding.end() + }; + match lines_after(end, source) { 0..=2 => empty_line().fmt(f)?, _ => match source_type { PySourceType::Stub => {