From bea260d9de1a0d7a73144e2e0e12af4f350e8436 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Wed, 8 May 2024 08:15:02 +1000 Subject: [PATCH 1/2] Use rustfmt::skip instead of cfg_attr Currently we use `cfg_attr` to disable the formatter so that the attribute can be on an expression. There was a new lint introduced into nightly just recently that checks cfg args, this `cfg_attr` usage triggers it. Use `rustfmt::skip` instead and put it on the function because it doesn't currently work on expressions. --- examples/sign_multisig.rs | 2 +- examples/verify_tx.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/sign_multisig.rs b/examples/sign_multisig.rs index cec7ed122..688924843 100644 --- a/examples/sign_multisig.rs +++ b/examples/sign_multisig.rs @@ -93,8 +93,8 @@ fn spending_transaction() -> bitcoin::Transaction { } } +#[rustfmt::skip] fn list_of_three_arbitrary_public_keys() -> Vec { - #[cfg_attr(feature="cargo-fmt", rustfmt_skip)] vec![ bitcoin::PublicKey::from_slice(&[2; 33]).expect("key 1"), bitcoin::PublicKey::from_slice(&[ diff --git a/examples/verify_tx.rs b/examples/verify_tx.rs index c23e2d4bc..37d985d54 100644 --- a/examples/verify_tx.rs +++ b/examples/verify_tx.rs @@ -102,9 +102,9 @@ fn main() { } /// Returns an arbitrary transaction. +#[rustfmt::skip] fn hard_coded_transaction() -> bitcoin::Transaction { // tx `f27eba163c38ad3f34971198687a3f1882b7ec818599ffe469a8440d82261c98` - #[cfg_attr(feature="cargo-fmt", rustfmt_skip)] let tx_bytes = vec![ 0x01, 0x00, 0x00, 0x00, 0x02, 0xc5, 0x11, 0x1d, 0xb7, 0x93, 0x50, 0xc1, 0x70, 0x28, 0x41, 0x39, 0xe8, 0xe3, 0x4e, 0xb0, 0xed, 0xba, 0x64, 0x7b, From ed869d7a77e1cbe87f826398492bf697f47f6c25 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Wed, 8 May 2024 07:56:17 +1000 Subject: [PATCH 2/2] Allow unexpected_cfgs Rust `nightly` just introduced a new lint that breaks us, disable it. Same as https://github.com/rust-bitcoin/rust-bitcoin/pull/2748 Please see 2748 for full description of the issue this resolves. --- fuzz/fuzz_targets/compile_descriptor.rs | 2 ++ fuzz/fuzz_targets/parse_descriptor.rs | 2 ++ fuzz/fuzz_targets/parse_descriptor_secret.rs | 2 ++ fuzz/fuzz_targets/roundtrip_concrete.rs | 2 ++ fuzz/fuzz_targets/roundtrip_descriptor.rs | 2 ++ fuzz/fuzz_targets/roundtrip_miniscript_script.rs | 2 ++ fuzz/fuzz_targets/roundtrip_miniscript_str.rs | 2 ++ fuzz/fuzz_targets/roundtrip_semantic.rs | 2 ++ src/lib.rs | 1 + 9 files changed, 17 insertions(+) diff --git a/fuzz/fuzz_targets/compile_descriptor.rs b/fuzz/fuzz_targets/compile_descriptor.rs index cfd6c7f4f..b246ed7a7 100644 --- a/fuzz/fuzz_targets/compile_descriptor.rs +++ b/fuzz/fuzz_targets/compile_descriptor.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/fuzz/fuzz_targets/parse_descriptor.rs b/fuzz/fuzz_targets/parse_descriptor.rs index 1d1ee77a1..040b6730d 100644 --- a/fuzz/fuzz_targets/parse_descriptor.rs +++ b/fuzz/fuzz_targets/parse_descriptor.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/fuzz/fuzz_targets/parse_descriptor_secret.rs b/fuzz/fuzz_targets/parse_descriptor_secret.rs index 8ef758bb5..76c4eb4fc 100644 --- a/fuzz/fuzz_targets/parse_descriptor_secret.rs +++ b/fuzz/fuzz_targets/parse_descriptor_secret.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/fuzz/fuzz_targets/roundtrip_concrete.rs b/fuzz/fuzz_targets/roundtrip_concrete.rs index 41e437221..3480393ca 100644 --- a/fuzz/fuzz_targets/roundtrip_concrete.rs +++ b/fuzz/fuzz_targets/roundtrip_concrete.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/fuzz/fuzz_targets/roundtrip_descriptor.rs b/fuzz/fuzz_targets/roundtrip_descriptor.rs index b9363f130..c682f3320 100644 --- a/fuzz/fuzz_targets/roundtrip_descriptor.rs +++ b/fuzz/fuzz_targets/roundtrip_descriptor.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/fuzz/fuzz_targets/roundtrip_miniscript_script.rs b/fuzz/fuzz_targets/roundtrip_miniscript_script.rs index 2215e18a5..cd44c455c 100644 --- a/fuzz/fuzz_targets/roundtrip_miniscript_script.rs +++ b/fuzz/fuzz_targets/roundtrip_miniscript_script.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use honggfuzz::fuzz; use miniscript::bitcoin::blockdata::script; use miniscript::{Miniscript, Segwitv0}; diff --git a/fuzz/fuzz_targets/roundtrip_miniscript_str.rs b/fuzz/fuzz_targets/roundtrip_miniscript_str.rs index 9f9bba573..0ae6b3f64 100644 --- a/fuzz/fuzz_targets/roundtrip_miniscript_str.rs +++ b/fuzz/fuzz_targets/roundtrip_miniscript_str.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/fuzz/fuzz_targets/roundtrip_semantic.rs b/fuzz/fuzz_targets/roundtrip_semantic.rs index cebc223b2..668faa354 100644 --- a/fuzz/fuzz_targets/roundtrip_semantic.rs +++ b/fuzz/fuzz_targets/roundtrip_semantic.rs @@ -1,3 +1,5 @@ +#![allow(unexpected_cfgs)] + use std::str::FromStr; use honggfuzz::fuzz; diff --git a/src/lib.rs b/src/lib.rs index f31d49928..fd1b92847 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -88,6 +88,7 @@ // Clippy lints that we have disabled #![allow(clippy::iter_kv_map)] // https://github.com/rust-lang/rust-clippy/issues/11752 #![allow(clippy::manual_range_contains)] // I hate this lint -asp +#![allow(unexpected_cfgs)] // This one is just batshit. #[cfg(target_pointer_width = "16")] compile_error!(