如中所述
Can I extend an enum with additional values?
quick_error
原因
你自己的类型。考虑一个假设的板条箱
lib2
:
#[macro_use]
extern crate quick_error;
extern crate lib2;
quick_error! {
#[derive(Debug)]
pub enum MyError {
Foo {
description("FooError")
},
Lib2(err: lib2::Error) {
description("Failed to do something done by lib2")
from() // derive `From<lib2::Error>`, very useful
cause(err)
}
}
}
from()
子句使编译器派生
From<lib2::Error>
对于
MyError
. 这是特别有用的,因为它使提高
Result<T, MyError>
锂离子电池2
?