Derive display for error via `display_derive`.
This commit is contained in:
parent
89f6e80596
commit
048409641c
|
@ -218,6 +218,16 @@ dependencies = [
|
|||
"test-data 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "display_derive"
|
||||
version = "0.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"synstructure 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "domain"
|
||||
version = "0.2.2"
|
||||
|
@ -1146,6 +1156,7 @@ version = "0.1.0"
|
|||
dependencies = [
|
||||
"bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"chain 0.1.0",
|
||||
"display_derive 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"elastic-array 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -1205,6 +1216,15 @@ dependencies = [
|
|||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "synstructure"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "take"
|
||||
version = "0.1.0"
|
||||
|
@ -1469,6 +1489,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
"checksum clap 2.27.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1b8c532887f1a292d17de05ae858a8fe50a301e196f9ef0ddb7ccd0d1d00f180"
|
||||
"checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd"
|
||||
"checksum csv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7ef22b37c7a51c564a365892c012dc0271221fdcc64c69b19ba4d6fa8bd96d9c"
|
||||
"checksum display_derive 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4bba5dcd6d2855639fcf65a9af7bbad0bfb6dbf6fe68fba70bab39a6eb973ef4"
|
||||
"checksum domain 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1850bf2c3c3349e1dba2aa214d86cf9edaa057a09ce46b1a02d5c07d5da5e65"
|
||||
"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"
|
||||
"checksum either 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "740178ddf48b1a9e878e6d6509a1442a2d42fd2928aae8e7a6f8a36fb01981b3"
|
||||
|
@ -1563,6 +1584,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
"checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"
|
||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
|
||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
|
||||
"checksum synstructure 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd"
|
||||
"checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5"
|
||||
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6"
|
||||
"checksum termcolor 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75"
|
||||
|
|
|
@ -12,3 +12,4 @@ lru-cache = "0.1"
|
|||
primitives = { path = "../primitives" }
|
||||
serialization = { path = "../serialization" }
|
||||
chain = { path = "../chain" }
|
||||
display_derive = "0.0.0"
|
||||
|
|
|
@ -1,22 +1,21 @@
|
|||
#[derive(Debug, PartialEq)]
|
||||
#[derive(Debug, PartialEq, Display)]
|
||||
pub enum Error {
|
||||
/// Low level database error
|
||||
#[display(fmt = "Database error: {}", _0)]
|
||||
DatabaseError(String),
|
||||
/// Invalid block
|
||||
#[display(fmt = "Cannot canonize block")]
|
||||
CannotCanonize,
|
||||
/// Uknown parent
|
||||
#[display(fmt = "Block parent is unknown")]
|
||||
UnknownParent,
|
||||
/// Ancient fork
|
||||
#[display(fmt = "Fork is too long to proceed")]
|
||||
AncientFork,
|
||||
}
|
||||
|
||||
impl From<Error> for String {
|
||||
fn from(e: Error) -> String {
|
||||
match e {
|
||||
Error::DatabaseError(s) => format!("Database error: {}", s),
|
||||
Error::CannotCanonize => "Cannot canonize block".into(),
|
||||
Error::UnknownParent => "Block parent is unknown".into(),
|
||||
Error::AncientFork => "Fork is too long to proceed".into(),
|
||||
}
|
||||
format!("{}", e)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ extern crate parking_lot;
|
|||
extern crate log;
|
||||
extern crate bit_vec;
|
||||
extern crate lru_cache;
|
||||
#[macro_use]
|
||||
extern crate display_derive;
|
||||
|
||||
extern crate primitives;
|
||||
extern crate serialization as ser;
|
||||
|
|
Loading…
Reference in New Issue