From d257b8a85a79b04faffa397a18a133f226c77804 Mon Sep 17 00:00:00 2001 From: Joost Jager Date: Mon, 26 May 2025 14:23:47 +0200 Subject: [PATCH] Replace rustfmt_excluded_files with rustfmt_skip cfg attribute This change removes the custom `rustfmt_excluded_files` mechanism and instead uses the an attribute at the top of each excluded file. No functional changes are introduced. This simplifies formatting workflows by enabling standard `cargo fmt` and editor format-on-save features without custom scripts. The older `rustfmt` cfg attribute is used because newer formatting directives only support code blocks, which would require more effort to apply consistently. This commit focuses on improving developer experience by streamlining formatting setup, while more granular or comprehensive formatting can be addressed later. --- .github/workflows/build.yml | 2 +- CONTRIBUTING.md | 2 +- ci/rustfmt.sh | 21 ------------ contrib/run-rustfmt.sh | 21 ------------ lightning/src/chain/chaininterface.rs | 2 ++ lightning/src/chain/chainmonitor.rs | 2 ++ lightning/src/chain/channelmonitor.rs | 2 ++ lightning/src/chain/mod.rs | 2 ++ lightning/src/chain/onchaintx.rs | 2 ++ lightning/src/chain/package.rs | 2 ++ lightning/src/chain/transaction.rs | 2 ++ lightning/src/lib.rs | 2 ++ lightning/src/ln/async_signer_tests.rs | 2 ++ lightning/src/ln/blinded_payment_tests.rs | 2 ++ lightning/src/ln/chan_utils.rs | 2 ++ lightning/src/ln/chanmon_update_fail_tests.rs | 2 ++ lightning/src/ln/channel.rs | 2 ++ lightning/src/ln/channelmanager.rs | 2 ++ lightning/src/ln/functional_test_utils.rs | 2 ++ .../src/ln/max_payment_path_len_tests.rs | 2 ++ lightning/src/ln/mod.rs | 2 ++ lightning/src/ln/monitor_tests.rs | 2 ++ lightning/src/ln/offers_tests.rs | 2 ++ lightning/src/ln/onion_payment.rs | 2 ++ lightning/src/ln/onion_route_tests.rs | 2 ++ lightning/src/ln/outbound_payment.rs | 2 ++ lightning/src/ln/peer_handler.rs | 2 ++ lightning/src/ln/priv_short_conf_tests.rs | 2 ++ lightning/src/ln/reload_tests.rs | 2 ++ lightning/src/ln/reorg_tests.rs | 2 ++ lightning/src/ln/shutdown_tests.rs | 2 ++ lightning/src/routing/mod.rs | 2 ++ lightning/src/routing/router.rs | 2 ++ lightning/src/routing/scoring.rs | 2 ++ lightning/src/routing/test_utils.rs | 2 ++ lightning/src/routing/utxo.rs | 2 ++ rustfmt_excluded_files | 32 ------------------- 37 files changed, 66 insertions(+), 76 deletions(-) delete mode 100755 ci/rustfmt.sh delete mode 100755 contrib/run-rustfmt.sh delete mode 100644 rustfmt_excluded_files diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7929fe15903..4d708201d3c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -305,7 +305,7 @@ jobs: run: | rustup component add rustfmt - name: Run rustfmt checks - run: ci/rustfmt.sh + run: cargo fmt --check incremental-mutants: runs-on: ubuntu-latest diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fd28911f690..b0fcae82e50 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -124,7 +124,7 @@ display fine at any tab-length display setting. We use `rustfmt` to establish uniform coding standards throughout the codebase. Please run ```bash -./contrib/run-rustfmt.sh +cargo +1.63.0 fmt ``` before committing and pushing any changes, as compliance will also be checked diff --git a/ci/rustfmt.sh b/ci/rustfmt.sh deleted file mode 100755 index 973f79ebe5c..00000000000 --- a/ci/rustfmt.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -set -eox pipefail - -export LC_ALL=C - -# Generate initial exclusion list -#find . -name '*.rs' -type f |sort >rustfmt_excluded_files - -# The +rustversion syntax only works with rustup-installed rust toolchains, -# not with any distro-provided ones. Thus, we check for a rustup install and -# only pass +1.63.0 if we find one. -VERS="" -[ "$(which rustup)" != "" ] && VERS="+1.63.0" - -# Run fmt -TMP_FILE=$(mktemp) -git ls-files | grep '.rs$' | sort >"$TMP_FILE" -for file in $(comm -23 "$TMP_FILE" rustfmt_excluded_files); do - echo "Checking formatting of $file" - rustfmt $VERS --edition 2021 --check "$file" -done diff --git a/contrib/run-rustfmt.sh b/contrib/run-rustfmt.sh deleted file mode 100755 index 2ef82c5a3e4..00000000000 --- a/contrib/run-rustfmt.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -set -eo pipefail - -export LC_ALL=C - -# Generate initial exclusion list -#find . -name '*.rs' -type f |sort >rustfmt_excluded_files - -# The +rustversion syntax only works with rustup-installed rust toolchains, -# not with any distro-provided ones. Thus, we check for a rustup install and -# only pass +1.63.0 if we find one. -VERS="" -[ "$(which rustup)" != "" ] && VERS="+1.63.0" - -# Run fmt -TMP_FILE=$(mktemp) -git ls-files | grep '.rs$' | sort >"$TMP_FILE" -for file in $(comm -23 "$TMP_FILE" rustfmt_excluded_files); do - echo "Formatting $file..." - rustfmt $VERS --edition 2021 "$file" -done diff --git a/lightning/src/chain/chaininterface.rs b/lightning/src/chain/chaininterface.rs index ebef21657b7..5da9f4a22ae 100644 --- a/lightning/src/chain/chaininterface.rs +++ b/lightning/src/chain/chaininterface.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/chain/chainmonitor.rs b/lightning/src/chain/chainmonitor.rs index c2b0a62e2d5..09d87b775be 100644 --- a/lightning/src/chain/chainmonitor.rs +++ b/lightning/src/chain/chainmonitor.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/chain/channelmonitor.rs b/lightning/src/chain/channelmonitor.rs index 9d9e3382ffb..a1dc24e590a 100644 --- a/lightning/src/chain/channelmonitor.rs +++ b/lightning/src/chain/channelmonitor.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/chain/mod.rs b/lightning/src/chain/mod.rs index 65a8383ca96..7ee7ad9804d 100644 --- a/lightning/src/chain/mod.rs +++ b/lightning/src/chain/mod.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/chain/onchaintx.rs b/lightning/src/chain/onchaintx.rs index 189f329c47c..2c2039f3e3b 100644 --- a/lightning/src/chain/onchaintx.rs +++ b/lightning/src/chain/onchaintx.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/chain/package.rs b/lightning/src/chain/package.rs index a4e4c8d4a38..9c0a19a187d 100644 --- a/lightning/src/chain/package.rs +++ b/lightning/src/chain/package.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/chain/transaction.rs b/lightning/src/chain/transaction.rs index 60c1e4475a5..f7cd9783589 100644 --- a/lightning/src/chain/transaction.rs +++ b/lightning/src/chain/transaction.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/lib.rs b/lightning/src/lib.rs index f5f95667e96..4b4aed5e673 100644 --- a/lightning/src/lib.rs +++ b/lightning/src/lib.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/async_signer_tests.rs b/lightning/src/ln/async_signer_tests.rs index 1f6f508d837..96ec664da94 100644 --- a/lightning/src/ln/async_signer_tests.rs +++ b/lightning/src/ln/async_signer_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/blinded_payment_tests.rs b/lightning/src/ln/blinded_payment_tests.rs index d517365d97e..f43d672a164 100644 --- a/lightning/src/ln/blinded_payment_tests.rs +++ b/lightning/src/ln/blinded_payment_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/chan_utils.rs b/lightning/src/ln/chan_utils.rs index 621bae134cf..be43a02b381 100644 --- a/lightning/src/ln/chan_utils.rs +++ b/lightning/src/ln/chan_utils.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/chanmon_update_fail_tests.rs b/lightning/src/ln/chanmon_update_fail_tests.rs index d91d3969401..d58934b4bcb 100644 --- a/lightning/src/ln/chanmon_update_fail_tests.rs +++ b/lightning/src/ln/chanmon_update_fail_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/channel.rs b/lightning/src/ln/channel.rs index 4af1fef78c2..7a131ae3c66 100644 --- a/lightning/src/ln/channel.rs +++ b/lightning/src/ln/channel.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index 144b018680c..dbd25de3bd8 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/functional_test_utils.rs b/lightning/src/ln/functional_test_utils.rs index 2ebe489ce7a..3ff2a045d28 100644 --- a/lightning/src/ln/functional_test_utils.rs +++ b/lightning/src/ln/functional_test_utils.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/max_payment_path_len_tests.rs b/lightning/src/ln/max_payment_path_len_tests.rs index 95a1fbaaa10..f91fdbacd64 100644 --- a/lightning/src/ln/max_payment_path_len_tests.rs +++ b/lightning/src/ln/max_payment_path_len_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/mod.rs b/lightning/src/ln/mod.rs index 7b4795962b5..89f877686ca 100644 --- a/lightning/src/ln/mod.rs +++ b/lightning/src/ln/mod.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/monitor_tests.rs b/lightning/src/ln/monitor_tests.rs index 38e43416866..587f7343b06 100644 --- a/lightning/src/ln/monitor_tests.rs +++ b/lightning/src/ln/monitor_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/offers_tests.rs b/lightning/src/ln/offers_tests.rs index f8649111a0c..0344c23ed12 100644 --- a/lightning/src/ln/offers_tests.rs +++ b/lightning/src/ln/offers_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/onion_payment.rs b/lightning/src/ln/onion_payment.rs index 2519372f11b..998a04105a4 100644 --- a/lightning/src/ln/onion_payment.rs +++ b/lightning/src/ln/onion_payment.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + //! Utilities to decode payment onions and do contextless validation of incoming payments. //! //! Primarily features [`peel_payment_onion`], which allows the decoding of an onion statelessly diff --git a/lightning/src/ln/onion_route_tests.rs b/lightning/src/ln/onion_route_tests.rs index fab6d941a7d..3af6a82c541 100644 --- a/lightning/src/ln/onion_route_tests.rs +++ b/lightning/src/ln/onion_route_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/outbound_payment.rs b/lightning/src/ln/outbound_payment.rs index 3b333c0c494..e4b2075dac3 100644 --- a/lightning/src/ln/outbound_payment.rs +++ b/lightning/src/ln/outbound_payment.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/peer_handler.rs b/lightning/src/ln/peer_handler.rs index 07e63cf576c..5c3bfd48d55 100644 --- a/lightning/src/ln/peer_handler.rs +++ b/lightning/src/ln/peer_handler.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/priv_short_conf_tests.rs b/lightning/src/ln/priv_short_conf_tests.rs index 0bd37b35cf5..8f0ab5e39ed 100644 --- a/lightning/src/ln/priv_short_conf_tests.rs +++ b/lightning/src/ln/priv_short_conf_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/reload_tests.rs b/lightning/src/ln/reload_tests.rs index bad430ab287..17028b36ae5 100644 --- a/lightning/src/ln/reload_tests.rs +++ b/lightning/src/ln/reload_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/reorg_tests.rs b/lightning/src/ln/reorg_tests.rs index 589d7a29803..4d01956e60a 100644 --- a/lightning/src/ln/reorg_tests.rs +++ b/lightning/src/ln/reorg_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/ln/shutdown_tests.rs b/lightning/src/ln/shutdown_tests.rs index fb70860b38c..d5c3fe3c387 100644 --- a/lightning/src/ln/shutdown_tests.rs +++ b/lightning/src/ln/shutdown_tests.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/routing/mod.rs b/lightning/src/routing/mod.rs index ca2d2c8cc77..af9e7c17dba 100644 --- a/lightning/src/routing/mod.rs +++ b/lightning/src/routing/mod.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/routing/router.rs b/lightning/src/routing/router.rs index 67ea6e90fc6..904d5309161 100644 --- a/lightning/src/routing/router.rs +++ b/lightning/src/routing/router.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/routing/scoring.rs b/lightning/src/routing/scoring.rs index 6403889df6d..245cee4ca71 100644 --- a/lightning/src/routing/scoring.rs +++ b/lightning/src/routing/scoring.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/routing/test_utils.rs b/lightning/src/routing/test_utils.rs index 258652b575d..14f004cd044 100644 --- a/lightning/src/routing/test_utils.rs +++ b/lightning/src/routing/test_utils.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/lightning/src/routing/utxo.rs b/lightning/src/routing/utxo.rs index bb7ec79a8c0..abe6b9b17a7 100644 --- a/lightning/src/routing/utxo.rs +++ b/lightning/src/routing/utxo.rs @@ -1,3 +1,5 @@ +#![cfg_attr(rustfmt, rustfmt_skip)] + // This file is Copyright its original authors, visible in version control // history. // diff --git a/rustfmt_excluded_files b/rustfmt_excluded_files deleted file mode 100644 index 34316d2c2f9..00000000000 --- a/rustfmt_excluded_files +++ /dev/null @@ -1,32 +0,0 @@ -lightning/src/chain/chaininterface.rs -lightning/src/chain/chainmonitor.rs -lightning/src/chain/channelmonitor.rs -lightning/src/chain/mod.rs -lightning/src/chain/onchaintx.rs -lightning/src/chain/package.rs -lightning/src/chain/transaction.rs -lightning/src/lib.rs -lightning/src/ln/async_signer_tests.rs -lightning/src/ln/blinded_payment_tests.rs -lightning/src/ln/chan_utils.rs -lightning/src/ln/chanmon_update_fail_tests.rs -lightning/src/ln/channel.rs -lightning/src/ln/channelmanager.rs -lightning/src/ln/functional_test_utils.rs -lightning/src/ln/max_payment_path_len_tests.rs -lightning/src/ln/mod.rs -lightning/src/ln/monitor_tests.rs -lightning/src/ln/offers_tests.rs -lightning/src/ln/onion_payment.rs -lightning/src/ln/onion_route_tests.rs -lightning/src/ln/outbound_payment.rs -lightning/src/ln/peer_handler.rs -lightning/src/ln/priv_short_conf_tests.rs -lightning/src/ln/reload_tests.rs -lightning/src/ln/reorg_tests.rs -lightning/src/ln/shutdown_tests.rs -lightning/src/routing/mod.rs -lightning/src/routing/router.rs -lightning/src/routing/scoring.rs -lightning/src/routing/test_utils.rs -lightning/src/routing/utxo.rs