Skip to content

Commit d9ca4ea

Browse files
committed
Use hashbrown replacements for std equivalents
1 parent a8038a8 commit d9ca4ea

16 files changed

+21
-18
lines changed

ci/check-compiles.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ cargo check
66
cargo doc
77
cargo doc --document-private-items
88
cd fuzz && cargo check --features=stdin_fuzz
9+
cd ../lightning && cargo check --no-default-features --features=no_std

lightning/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Still missing tons of error-handling. See GitHub issues for suggested projects i
1111
"""
1212

1313
[features]
14+
default = ["std"]
1415
allow_wallclock_use = []
1516
fuzztarget = ["bitcoin/fuzztarget", "regex"]
1617
# Internal test utilities exposed to other repo crates
@@ -25,10 +26,13 @@ max_level_debug = []
2526
# This is unsafe to use in production because it may result in the counterparty publishing taking our funds.
2627
unsafe_revoked_tx_signing = []
2728
unstable = []
29+
std = []
30+
no_std = ["hashbrown"]
2831

2932
[dependencies]
3033
bitcoin = "0.26"
3134

35+
hashbrown = { version = "0.11", optional = true }
3236
hex = { version = "0.3", optional = true }
3337
regex = { version = "0.1.80", optional = true }
3438

lightning/src/chain/chainmonitor.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ use util::events;
3838
use util::events::EventHandler;
3939

4040
use prelude::*;
41-
use std::collections::{HashMap, hash_map};
4241
use std::sync::RwLock;
4342
use core::ops::Deref;
4443

lightning/src/chain/channelmonitor.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ use util::byte_utils;
5252
use util::events::Event;
5353

5454
use prelude::*;
55-
use std::collections::{HashMap, HashSet};
5655
use core::{cmp, mem};
5756
use std::io::Error;
5857
use core::ops::Deref;

lightning/src/chain/keysinterface.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ use ln::chan_utils::{HTLCOutputInCommitment, make_funding_redeemscript, ChannelP
3838
use ln::msgs::UnsignedChannelAnnouncement;
3939

4040
use prelude::*;
41-
use std::collections::HashSet;
4241
use core::sync::atomic::{AtomicUsize, Ordering};
4342
use std::io::Error;
4443
use ln::msgs::{DecodeError, MAX_VALUE_MSAT};

lightning/src/chain/onchaintx.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ use util::byte_utils;
3434

3535
use prelude::*;
3636
use alloc::collections::BTreeMap;
37-
use std::collections::HashMap;
3837
use core::cmp;
3938
use core::ops::Deref;
4039
use core::mem::replace;

lightning/src/lib.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,12 @@ pub mod ln;
4444
pub mod routing;
4545

4646
mod prelude {
47-
pub use alloc::{vec, vec::Vec, string::String};
48-
}
47+
#[cfg(feature = "no_std")]
48+
extern crate hashbrown;
49+
50+
pub use alloc::{vec, vec::Vec, string::String, collections::VecDeque};
51+
#[cfg(feature = "std")]
52+
pub use std::collections::{HashMap, HashSet, hash_map};
53+
#[cfg(feature = "no_std")]
54+
pub use self::hashbrown::{HashMap, HashSet, hash_map};
55+
}

lightning/src/ln/chanmon_update_fail_tests.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ use ln::functional_test_utils::*;
4141
use util::test_utils;
4242

4343
use prelude::*;
44-
use std::collections::HashMap;
4544
use std::sync::{Arc, Mutex};
4645

4746
// If persister_fail is true, we have the persister return a PermanentFailure

lightning/src/ln/channelmanager.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ use util::errors::APIError;
6464
use prelude::*;
6565
use core::{cmp, mem};
6666
use core::cell::RefCell;
67-
use std::collections::{HashMap, hash_map, HashSet};
6867
use std::io::{Cursor, Read};
6968
use std::sync::{Arc, Condvar, Mutex, MutexGuard, RwLock, RwLockReadGuard};
7069
use core::sync::atomic::{AtomicUsize, Ordering};

lightning/src/ln/functional_test_utils.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ use core::cell::RefCell;
4444
use std::rc::Rc;
4545
use std::sync::{Arc, Mutex};
4646
use core::mem;
47-
use std::collections::HashMap;
4847

4948
pub const CHAN_CONFIRM_DEPTH: u32 = 10;
5049

0 commit comments

Comments
 (0)