From: Matt Corallo Date: Sat, 28 Jul 2018 21:39:10 +0000 (-0400) Subject: Assert usize is 32 or 64 bits, as required in a TODO X-Git-Tag: v0.0.12~358^2~2 X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=fb9f1692792201b2dd129e0b21df28959e8323cf;p=rust-lightning Assert usize is 32 or 64 bits, as required in a TODO --- diff --git a/src/ln/channelmanager.rs b/src/ln/channelmanager.rs index e4e05afd4..707a262b1 100644 --- a/src/ln/channelmanager.rs +++ b/src/ln/channelmanager.rs @@ -137,13 +137,15 @@ impl ChannelHolder { by_id: &mut self.by_id, short_to_id: &mut self.short_to_id, next_forward: &mut self.next_forward, - /// short channel id -> forward infos. Key of 0 means payments received forward_htlcs: &mut self.forward_htlcs, claimable_htlcs: &mut self.claimable_htlcs, } } } +#[cfg(not(any(target_pointer_width = "32", target_pointer_width = "64")))] +const ERR: () = "You need at least 32 bit pointers (well, usize, but we'll assume they're the same) for ChannelManager::latest_block_height"; + /// Manager which keeps track of a number of channels and sends messages to the appropriate /// channel, also tracking HTLC preimages and forwarding onion packets appropriately. /// Implements ChannelMessageHandler, handling the multi-channel parts and passing things through @@ -157,7 +159,7 @@ pub struct ChannelManager { announce_channels_publicly: bool, fee_proportional_millionths: u32, - latest_block_height: AtomicUsize, //TODO: Compile-time assert this is at least 32-bits long + latest_block_height: AtomicUsize, secp_ctx: Secp256k1, channel_state: Mutex,