diff --git a/crates/fmt/src/formatter.rs b/crates/fmt/src/formatter.rs index 1c5000330f4b..a44aa697ccb0 100644 --- a/crates/fmt/src/formatter.rs +++ b/crates/fmt/src/formatter.rs @@ -1246,7 +1246,7 @@ impl<'a, W: Write> Formatter<'a, W> { })?; write_chunk!(self, "}}")?; - return Ok(true) + return Ok(false) } // Determine writable statements by excluding statements from disabled start / end lines. diff --git a/crates/fmt/testdata/Repros/fmt.sol b/crates/fmt/testdata/Repros/fmt.sol index 0842c7956bf6..a61a626a0968 100644 --- a/crates/fmt/testdata/Repros/fmt.sol +++ b/crates/fmt/testdata/Repros/fmt.sol @@ -139,8 +139,7 @@ contract IfElseTest { number = 1; } else if (newNumber = 2) { // number = 2; - } - else { + } else { newNumber = 3; } } diff --git a/crates/forge/bin/cmd/fmt.rs b/crates/forge/bin/cmd/fmt.rs index c467048368f0..9fd016ac70b0 100644 --- a/crates/forge/bin/cmd/fmt.rs +++ b/crates/forge/bin/cmd/fmt.rs @@ -125,17 +125,22 @@ impl FmtArgs { ) })?; + let diff = TextDiff::from_lines(&source, &output); + let new_format = diff.ratio() < 1.0; if self.check || path.is_none() { if self.raw { print!("{output}"); } - let diff = TextDiff::from_lines(&source, &output); - if diff.ratio() < 1.0 { + // If new format then compute diff summary. + if new_format { return Ok(Some(format_diff_summary(&name, &diff))) } } else if let Some(path) = path { - fs::write(path, output)?; + // If new format then write it on disk. + if new_format { + fs::write(path, output)?; + } } Ok(None) }; diff --git a/testdata/default/fuzz/invariant/common/InvariantPreserveState.t.sol b/testdata/default/fuzz/invariant/common/InvariantPreserveState.t.sol index b91cda739fc5..5469801362a9 100644 --- a/testdata/default/fuzz/invariant/common/InvariantPreserveState.t.sol +++ b/testdata/default/fuzz/invariant/common/InvariantPreserveState.t.sol @@ -15,8 +15,9 @@ contract Handler is DSTest { Vm constant vm = Vm(HEVM_ADDRESS); function thisFunctionReverts() external { - if (block.number < 10) {} - else revert(); + if (block.number < 10) {} else { + revert(); + } } function advanceTime(uint256 blocks) external {