From 87d6f1718c28fbba07b70ecaee271aa05532a70f Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Wed, 14 May 2025 12:13:38 +1000 Subject: [PATCH] Make serde attribute usage more terse The `serde` attribute can be made more terse in docs and tests with no loss of clarity. Refactor and docs only, no logic change. --- units/src/amount/serde.rs | 11 ++++++----- units/src/fee_rate/serde.rs | 4 ++-- units/tests/serde.rs | 30 +++++++++++++++--------------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/units/src/amount/serde.rs b/units/src/amount/serde.rs index 1db2e9eea..fc4ca82e3 100644 --- a/units/src/amount/serde.rs +++ b/units/src/amount/serde.rs @@ -13,11 +13,11 @@ //! //! ``` //! use serde::{Serialize, Deserialize}; -//! use bitcoin_units::Amount; +//! use bitcoin_units::{amount, Amount}; //! //! #[derive(Serialize, Deserialize)] //! pub struct HasAmount { -//! #[serde(with = "bitcoin_units::amount::serde::as_sat")] +//! #[serde(with = "amount::serde::as_sat")] //! pub amount: Amount, //! } //! ``` @@ -396,6 +396,7 @@ pub mod as_str { #[cfg(test)] mod tests { use super::*; + use crate::amount; #[test] fn sanity_check() { @@ -407,7 +408,7 @@ mod tests { fn can_serde_as_sat() { #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct HasAmount { - #[serde(with = "crate::amount::serde::as_sat")] + #[serde(with = "amount::serde::as_sat")] pub amount: Amount, } @@ -426,7 +427,7 @@ mod tests { fn can_serde_as_btc() { #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct HasAmount { - #[serde(with = "crate::amount::serde::as_btc")] + #[serde(with = "amount::serde::as_btc")] pub amount: Amount, } @@ -445,7 +446,7 @@ mod tests { fn can_serde_as_str() { #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct HasAmount { - #[serde(with = "crate::amount::serde::as_str")] + #[serde(with = "amount::serde::as_str")] pub amount: Amount, } diff --git a/units/src/fee_rate/serde.rs b/units/src/fee_rate/serde.rs index fdcb4d67e..b9c40b77a 100644 --- a/units/src/fee_rate/serde.rs +++ b/units/src/fee_rate/serde.rs @@ -14,11 +14,11 @@ //! //! ``` //! use serde::{Serialize, Deserialize}; -//! use bitcoin_units::FeeRate; +//! use bitcoin_units::{fee_rate, FeeRate}; //! //! #[derive(Serialize, Deserialize)] //! pub struct Foo { -//! #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_kwu")] +//! #[serde(with = "fee_rate::serde::as_sat_per_kwu")] //! pub fee_rate: FeeRate, //! } //! ``` diff --git a/units/tests/serde.rs b/units/tests/serde.rs index e6c7d0af6..453f218c6 100644 --- a/units/tests/serde.rs +++ b/units/tests/serde.rs @@ -7,41 +7,41 @@ use bincode::serialize; use bitcoin_units::locktime::{absolute, relative}; -use bitcoin_units::{Amount, BlockHeight, BlockInterval, FeeRate, SignedAmount, Weight}; +use bitcoin_units::{amount, fee_rate, Amount, BlockHeight, BlockInterval, FeeRate, SignedAmount, Weight}; use serde::{Deserialize, Serialize}; /// A struct that includes all the types that implement or support `serde` traits. #[derive(Debug, Serialize, Deserialize)] struct Serde { - #[serde(with = "bitcoin_units::amount::serde::as_sat")] + #[serde(with = "amount::serde::as_sat")] unsigned_as_sat: Amount, - #[serde(with = "bitcoin_units::amount::serde::as_btc")] + #[serde(with = "amount::serde::as_btc")] unsigned_as_btc: Amount, - #[serde(with = "bitcoin_units::amount::serde::as_sat::opt")] + #[serde(with = "amount::serde::as_sat::opt")] unsigned_opt_as_sat: Option, - #[serde(with = "bitcoin_units::amount::serde::as_btc::opt")] + #[serde(with = "amount::serde::as_btc::opt")] unsigned_opt_as_btc: Option, - #[serde(with = "bitcoin_units::amount::serde::as_sat")] + #[serde(with = "amount::serde::as_sat")] signed_as_sat: SignedAmount, - #[serde(with = "bitcoin_units::amount::serde::as_btc")] + #[serde(with = "amount::serde::as_btc")] signed_as_btc: SignedAmount, - #[serde(with = "bitcoin_units::amount::serde::as_sat::opt")] + #[serde(with = "amount::serde::as_sat::opt")] signed_opt_as_sat: Option, - #[serde(with = "bitcoin_units::amount::serde::as_btc::opt")] + #[serde(with = "amount::serde::as_btc::opt")] signed_opt_as_btc: Option, - #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_floor")] + #[serde(with = "fee_rate::serde::as_sat_per_vb_floor")] vb_floor: FeeRate, - #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_ceil")] + #[serde(with = "fee_rate::serde::as_sat_per_vb_ceil")] vb_ceil: FeeRate, - #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_kwu")] + #[serde(with = "fee_rate::serde::as_sat_per_kwu")] kwu: FeeRate, - #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_floor::opt")] + #[serde(with = "fee_rate::serde::as_sat_per_vb_floor::opt")] opt_vb_floor: Option, - #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_vb_ceil::opt")] + #[serde(with = "fee_rate::serde::as_sat_per_vb_ceil::opt")] opt_vb_ceil: Option, - #[serde(with = "bitcoin_units::fee_rate::serde::as_sat_per_kwu::opt")] + #[serde(with = "fee_rate::serde::as_sat_per_kwu::opt")] opt_kwu: Option, a: BlockHeight,