]> git.proxmox.com Git - rustc.git/blame - vendor/failure/examples/simple.rs
New upstream version 1.45.0+dfsg1
[rustc.git] / vendor / failure / examples / simple.rs
CommitLineData
8faf50e0
XL
1#[macro_use]
2extern crate failure;
3
4use failure::Fail;
5
6#[derive(Debug, Fail)]
7#[fail(display = "my error")]
8struct MyError;
9
10#[derive(Debug, Fail)]
11#[fail(display = "my wrapping error")]
12struct WrappingError(#[fail(cause)] MyError);
13
14fn bad_function() -> Result<(), WrappingError> {
15 Err(WrappingError(MyError))
16}
17
18fn main() {
9fa01778
XL
19 for cause in Fail::iter_chain(&bad_function().unwrap_err()) {
20 println!("{}: {}", cause.name().unwrap_or("Error"), cause);
8faf50e0
XL
21 }
22}