message: [proof] Static assert that usize is 64-bit width
  This adds a static assert that usize provides a full 64-bit width,
  which we were previously implicitly relying on.
  Closes:
  Approved by: zamsden
diff: @@ -17,6 +17,7 @@ use failure::prelude::*;
  #[cfg(any(test, feature = "testing"))]
  use proptest_derive::Arbitrary;
  use proto_conv::{FromProto, IntoProto};
  +use std::mem;
  /// A proof that can be used authenticate an element in an accumulator given trusted root hash. For
  /// example, both `LedgerInfoToTransactionInfoProof` and `TransactionInfoToEventProof` can be
  @@ -28,9 +29,11 @@ pub struct AccumulatorProof {
  siblings: Vec<HashValue>,
  }
  -/// Because leaves can only take half the space in the tree, any numbering of the tree leaves
  -/// must not take the full width of the total space. Thus, for a 64-bit ordering, our maximumm
  -/// proof depth is limited to 63.
  +/// Because leaves can only take half the space in the tree, any numbering of the tree leaves must
  +/// not take the full width of the total space. Thus, for a 64-bit ordering, our maximumm proof
  +/// depth is limited to 63. We rely on usize to provide full 64-bit width, and assert for this.
  +#[allow(dead_code)]
  +const USIZE_STATIC_ASSERT: usize = mem::size_of::<usize>() - mem::size_of::<u64>();
  pub const MAX_ACCUMULATOR_PROOF_DEPTH: usize = 63;
  pub const MAX_ACCUMULATOR_LEAVES: usize = 1 << MAX_ACCUMULATOR_PROOF_DEPTH;
  