get rid of derive_more

This commit is contained in:
NikVolf 2019-09-24 12:19:25 +02:00
parent fb6fef4e9c
commit ce2416623f
2 changed files with 21 additions and 8 deletions

View File

@ -9,7 +9,6 @@ assert_matches = "1.3.0"
quickcheck = "0.8"
[dependencies]
derive_more = "0.15"
bigint = "4"
byteorder = "1"
blake2 = { package = "blake2b_simd", version = "0.5" }

View File

@ -10,28 +10,42 @@ pub use tree::Tree;
pub use node_data::{NodeData, MAX_NODE_DATA_SIZE};
pub use entry::{Entry, MAX_ENTRY_SIZE};
#[derive(Debug, derive_more::Display)]
#[derive(Debug)]
pub enum Error {
#[display(fmt="Node/leaf expected to be in memory: {}", _0)]
ExpectedInMemory(EntryLink),
#[display(fmt="Node expected")]
ExpectedNode,
#[display(fmt="Node expected, not leaf: {}", _0)]
ExpectedNodeForLink(EntryLink),
}
impl std::fmt::Display for Error {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match *self {
Self::ExpectedInMemory(l) => write!(f, "Node/leaf expected to be in memory: {}", l),
Self::ExpectedNode => write!(f, "Node expected"),
Self::ExpectedNodeForLink(l) => write!(f, "Node expected, not leaf: {}", l),
}
}
}
/// Reference to to the tree node.
#[repr(C)]
#[derive(Clone, Copy, Debug, derive_more::Display)]
#[derive(Clone, Copy, Debug)]
pub enum EntryLink {
/// Reference to the stored (in the array representation) leaf/node.
#[display(fmt="stored(@{})", _0)]
Stored(u32),
/// Reference to the generated leaf/node.
#[display(fmt="generated(@{})", _0)]
Generated(u32),
}
impl std::fmt::Display for EntryLink {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match *self {
Self::Stored(v) => write!(f, "stored({})", v),
Self::Generated(v) => write!(f, "generated({})", v),
}
}
}
/// MMR Node. It is leaf when `left`, `right` are `None` and node when they are not.
#[repr(C)]
#[derive(Debug)]