From 81e6740b459e8d50fa9dffb4c84944a21a1baa60 Mon Sep 17 00:00:00 2001 From: 0xrusowsky <0xrusowsky@proton.me> Date: Wed, 22 Oct 2025 10:25:49 +0200 Subject: [PATCH 1/2] fix(fmt): only print trailing cmnts in opening brace when block is not empty --- crates/fmt/src/state/sol.rs | 4 +++- crates/fmt/testdata/TryStatement/fmt.sol | 2 +- crates/fmt/testdata/TryStatement/original.sol | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/fmt/src/state/sol.rs b/crates/fmt/src/state/sol.rs index fec237309a2c8..5c47b548970de 100644 --- a/crates/fmt/src/state/sol.rs +++ b/crates/fmt/src/state/sol.rs @@ -2184,7 +2184,9 @@ impl<'ast> State<'_, 'ast> { } self.print_word("{"); self.end(); - self.print_trailing_comment_no_break(catch_span.lo(), None); + if !block.is_empty() { + self.print_trailing_comment_no_break(catch_span.lo(), None); + } self.print_block_without_braces(block, catch_span.hi(), Some(self.ind)); if self.cursor.enabled || self.cursor.pos < try_span.hi() { self.print_word("}"); diff --git a/crates/fmt/testdata/TryStatement/fmt.sol b/crates/fmt/testdata/TryStatement/fmt.sol index 9d48d66f5063d..574a0cd9125f1 100644 --- a/crates/fmt/testdata/TryStatement/fmt.sol +++ b/crates/fmt/testdata/TryStatement/fmt.sol @@ -99,6 +99,6 @@ contract TryStatement { uint80, int256 _price, uint256, uint256 _updatedAt, uint80 ) { return true; - } catch {} + } catch {} // trailing cmnt } } diff --git a/crates/fmt/testdata/TryStatement/original.sol b/crates/fmt/testdata/TryStatement/original.sol index fe50355ecb4fc..c58da9d47434e 100644 --- a/crates/fmt/testdata/TryStatement/original.sol +++ b/crates/fmt/testdata/TryStatement/original.sol @@ -89,6 +89,6 @@ contract TryStatement { function try_reallyLongCall() { try AggregatorV3Interface(oracle).latestRoundData() returns (uint80, int256 _price, uint256, uint256 _updatedAt, uint80) { return true; - } catch {} + } catch {} // trailing cmnt } } From 318bb5efbe721fcae4649160935cd253b8db1269 Mon Sep 17 00:00:00 2001 From: 0xrusowsky <0xrusowsky@proton.me> Date: Wed, 22 Oct 2025 10:31:20 +0200 Subject: [PATCH 2/2] doc: link issue --- crates/fmt/testdata/TryStatement/fmt.sol | 2 +- crates/fmt/testdata/TryStatement/original.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/fmt/testdata/TryStatement/fmt.sol b/crates/fmt/testdata/TryStatement/fmt.sol index 574a0cd9125f1..cff134e646038 100644 --- a/crates/fmt/testdata/TryStatement/fmt.sol +++ b/crates/fmt/testdata/TryStatement/fmt.sol @@ -99,6 +99,6 @@ contract TryStatement { uint80, int256 _price, uint256, uint256 _updatedAt, uint80 ) { return true; - } catch {} // trailing cmnt + } catch {} // https://github.com/foundry-rs/foundry/issues/12240 } } diff --git a/crates/fmt/testdata/TryStatement/original.sol b/crates/fmt/testdata/TryStatement/original.sol index c58da9d47434e..288ad81293738 100644 --- a/crates/fmt/testdata/TryStatement/original.sol +++ b/crates/fmt/testdata/TryStatement/original.sol @@ -89,6 +89,6 @@ contract TryStatement { function try_reallyLongCall() { try AggregatorV3Interface(oracle).latestRoundData() returns (uint80, int256 _price, uint256, uint256 _updatedAt, uint80) { return true; - } catch {} // trailing cmnt + } catch {} // https://github.com/foundry-rs/foundry/issues/12240 } }