wherror 2.4.0

The same derive(Error) macro thiserror provides + the features you want!
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// https://github.com/dtolnay/thiserror/issues/163

use std::backtrace::Backtrace;
use wherror::Error;

#[derive(Error, Debug)]
#[error("...")]
pub struct Error(
    #[from]
    #[backtrace]
    std::io::Error,
    Backtrace,
);

fn main() {}