smoke/
smoke.rs

1type E = Box<dyn std::error::Error + Send + Sync>;
2
3fn main() -> Result<(), errors::Main> {
4    one()?;
5    Ok(())
6}
7
8fn one() -> Result<(), E> {
9    println!("> one");
10    two().map_err(|e| errors::wrap("two failed", e))?;
11    println!("< one");
12    Ok(())
13}
14
15fn two() -> Result<(), E> {
16    println!("> two");
17    Err(errors::new("kaboom").into())
18}