Skip to content

Commit 9c053e5

Browse files
committed
Configure imports_granularity
Configure `imports_granularity = "Module"`. The benefit of this option is that it increases uniformity in the code base over the default "Preserve" and also, from my personal experience, it tends to reduce the noise in diffs from adding/removing imports.
1 parent d7010c4 commit 9c053e5

32 files changed

+98
-148
lines changed

examples/parse.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
1717
use std::str::FromStr;
1818

19-
use bitcoin;
20-
use miniscript;
21-
use miniscript::{descriptor::DescriptorType, Descriptor, DescriptorTrait};
19+
use miniscript::descriptor::DescriptorType;
20+
use miniscript::{Descriptor, DescriptorTrait};
21+
use {bitcoin, miniscript};
2222

2323
fn main() {
2424
let my_descriptor = miniscript::Descriptor::<bitcoin::PublicKey>::from_str(

examples/sign_multisig.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@
1717
use std::collections::HashMap;
1818
use std::str::FromStr;
1919

20-
use bitcoin;
2120
use bitcoin::blockdata::witness::Witness;
2221
use bitcoin::secp256k1; // secp256k1 re-exported from rust-bitcoin
23-
use miniscript;
2422
use miniscript::DescriptorTrait;
23+
use {bitcoin, miniscript};
2524

2625
fn main() {
2726
// Avoid repeatedly typing a pretty-common descriptor type

examples/verify_tx.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@
1616
1717
use std::str::FromStr;
1818

19-
use bitcoin;
2019
use bitcoin::consensus::Decodable;
2120
use bitcoin::util::sighash;
2221
use bitcoin::{secp256k1, TxOut}; // secp256k1 re-exported from rust-bitcoin
23-
use miniscript;
2422
use miniscript::interpreter::KeySigPair;
23+
use {bitcoin, miniscript};
2524

2625
fn main() {
2726
// tx `f27eba163c38ad3f34971198687a3f1882b7ec818599ffe469a8440d82261c98`

rustfmt.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ fn_single_line = false
2727
where_single_line = false
2828
imports_indent = "Block"
2929
imports_layout = "Mixed"
30-
imports_granularity = "Preserve"
30+
imports_granularity = "Module" # Default "Preserve"
3131
group_imports = "StdExternalCrate" # Default "Preserve"
3232
reorder_imports = true
3333
reorder_modules = true

src/descriptor/bare.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@
1818
//! Also includes pk, and pkh descriptors
1919
//!
2020
21-
use std::{fmt, str::FromStr};
21+
use std::fmt;
22+
use std::str::FromStr;
2223

23-
use bitcoin::{self, blockdata::script, Script};
24+
use bitcoin::blockdata::script;
25+
use bitcoin::{self, Script};
2426

25-
use super::{
26-
checksum::{desc_checksum, verify_checksum},
27-
DescriptorTrait,
28-
};
27+
use super::checksum::{desc_checksum, verify_checksum};
28+
use super::DescriptorTrait;
2929
use crate::expression::{self, FromTree};
3030
use crate::miniscript::context::ScriptContext;
3131
use crate::policy::{semantic, Liftable};

src/descriptor/key.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1-
use std::{error, fmt, str::FromStr};
2-
3-
use bitcoin::{
4-
self,
5-
hashes::Hash,
6-
hashes::{hex::FromHex, HashEngine},
7-
secp256k1,
8-
secp256k1::{Secp256k1, Signing},
9-
util::bip32,
10-
XOnlyPublicKey, XpubIdentifier,
11-
};
1+
use std::str::FromStr;
2+
use std::{error, fmt};
3+
4+
use bitcoin::hashes::hex::FromHex;
5+
use bitcoin::hashes::{Hash, HashEngine};
6+
use bitcoin::secp256k1::{Secp256k1, Signing};
7+
use bitcoin::util::bip32;
8+
use bitcoin::{self, secp256k1, XOnlyPublicKey, XpubIdentifier};
129

1310
use crate::{MiniscriptKey, ToPublicKey};
1411

src/descriptor/mod.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,21 @@
2323
//! these with BIP32 paths, pay-to-contract instructions, etc.
2424
//!
2525
26+
use std::collections::HashMap;
27+
use std::fmt;
2628
use std::ops::Range;
27-
use std::{collections::HashMap, sync::Arc};
28-
use std::{
29-
fmt,
30-
str::{self, FromStr},
31-
};
29+
use std::str::{self, FromStr};
30+
use std::sync::Arc;
3231

3332
use bitcoin::blockdata::witness::Witness;
3433
use bitcoin::util::address::WitnessVersion;
3534
use bitcoin::{self, secp256k1, Script};
3635

3736
use self::checksum::verify_checksum;
38-
use crate::expression;
39-
use crate::miniscript;
4037
use crate::miniscript::{Legacy, Miniscript, Segwitv0};
4138
use crate::{
42-
BareCtx, Error, ForEach, ForEachKey, MiniscriptKey, Satisfier, ToPublicKey, TranslatePk,
43-
TranslatePk2,
39+
expression, miniscript, BareCtx, Error, ForEach, ForEachKey, MiniscriptKey, Satisfier,
40+
ToPublicKey, TranslatePk, TranslatePk2,
4441
};
4542

4643
// Directly export from lib.rs, exporting the trait here causes conflicts in this file
@@ -884,10 +881,9 @@ mod tests {
884881
use super::*;
885882
use crate::descriptor::key::Wildcard;
886883
use crate::descriptor::{DescriptorPublicKey, DescriptorSecretKey, DescriptorXKey, SinglePub};
887-
use crate::hex_script;
888884
#[cfg(feature = "compiler")]
889885
use crate::policy;
890-
use crate::{Descriptor, DummyKey, Error, Miniscript, Satisfier, TranslatePk2};
886+
use crate::{hex_script, Descriptor, DummyKey, Error, Miniscript, Satisfier, TranslatePk2};
891887

892888
type StdDescriptor = Descriptor<PublicKey>;
893889
const TEST_PK: &'static str =

src/descriptor/pretaproot.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
use std::{
2-
fmt,
3-
str::{self, FromStr},
4-
};
1+
use std::fmt;
2+
use std::str::{self, FromStr};
53

64
use bitcoin::{self, Script};
75

8-
use super::{checksum::verify_checksum, Bare, Pkh, Sh, Wpkh, Wsh};
6+
use super::checksum::verify_checksum;
7+
use super::{Bare, Pkh, Sh, Wpkh, Wsh};
98
use crate::{expression, DescriptorTrait, Error, MiniscriptKey, Satisfier, ToPublicKey};
109

1110
/// Script descriptor
@@ -242,10 +241,8 @@ pub(crate) mod traits {
242241
use bitcoin::Script;
243242

244243
use super::PreTaprootDescriptor;
245-
use crate::{
246-
descriptor::{Pkh, Sh, Wpkh, Wsh},
247-
DescriptorTrait, MiniscriptKey, ToPublicKey,
248-
};
244+
use crate::descriptor::{Pkh, Sh, Wpkh, Wsh};
245+
use crate::{DescriptorTrait, MiniscriptKey, ToPublicKey};
249246

250247
/// A general trait for Pre taproot bitcoin descriptor.
251248
/// Similar to [`DescriptorTrait`], but `explicit_script` and `script_code` methods cannot fail

src/descriptor/segwitv0.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616
//! Implementation of Segwit Descriptors. Contains the implementation
1717
//! of wsh, wpkh and sortedmulti inside wsh.
1818
19-
use std::{fmt, str::FromStr};
19+
use std::fmt;
20+
use std::str::FromStr;
2021

2122
use bitcoin::{self, Script};
2223

23-
use super::{
24-
checksum::{desc_checksum, verify_checksum},
25-
DescriptorTrait, SortedMultiVec,
26-
};
24+
use super::checksum::{desc_checksum, verify_checksum};
25+
use super::{DescriptorTrait, SortedMultiVec};
2726
use crate::expression::{self, FromTree};
2827
use crate::miniscript::context::{ScriptContext, ScriptContextError};
2928
use crate::policy::{semantic, Liftable};

src/descriptor/sh.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,21 @@
1818
//! sh(miniscript), and sh(wpkh)
1919
//!
2020
21-
use std::{fmt, str::FromStr};
21+
use std::fmt;
22+
use std::str::FromStr;
2223

23-
use bitcoin::{self, blockdata::script, Script};
24+
use bitcoin::blockdata::script;
25+
use bitcoin::{self, Script};
2426

25-
use super::{
26-
checksum::{desc_checksum, verify_checksum},
27-
DescriptorTrait, SortedMultiVec, Wpkh, Wsh,
28-
};
27+
use super::checksum::{desc_checksum, verify_checksum};
28+
use super::{DescriptorTrait, SortedMultiVec, Wpkh, Wsh};
2929
use crate::expression::{self, FromTree};
3030
use crate::miniscript::context::ScriptContext;
3131
use crate::policy::{semantic, Liftable};
32-
use crate::push_opcode_size;
3332
use crate::util::{varint_len, witness_to_scriptsig};
3433
use crate::{
35-
Error, ForEach, ForEachKey, Legacy, Miniscript, MiniscriptKey, Satisfier, Segwitv0,
36-
ToPublicKey, TranslatePk,
34+
push_opcode_size, Error, ForEach, ForEachKey, Legacy, Miniscript, MiniscriptKey, Satisfier,
35+
Segwitv0, ToPublicKey, TranslatePk,
3736
};
3837

3938
/// A Legacy p2sh Descriptor

0 commit comments

Comments
 (0)