#[derive(Masterror)]
{
// Attributes available to this derive:
#[error]
#[source]
#[from]
#[backtrace]
#[masterror]
#[provide]
}
Expand description
Re-export derive macros so users only depend on this crate.
ยงExamples
use masterror::{AppCode, AppError, AppErrorKind, Error};
#[derive(Debug, Error)]
#[error("missing flag: {name}")]
#[app_error(kind = AppErrorKind::BadRequest, code = AppCode::BadRequest, message)]
struct MissingFlag {
name: &'static str
}
let app: AppError = MissingFlag {
name: "feature"
}
.into();
assert!(matches!(app.kind, AppErrorKind::BadRequest));
let code: AppCode = MissingFlag {
name: "other"
}
.into();
assert!(matches!(code, AppCode::BadRequest));