#![expect(missing_docs, reason = "Example code")]
use ohno::ErrorExt;
#[ohno::error]
#[display("Failed to process item {item_id} with code {error_code}")]
struct ProcessingError {
item_id: u32,
error_code: i32,
}
#[ohno::enrich_err("processing failed")]
fn process(item_id: u32) -> Result<(), ProcessingError> {
Err(ProcessingError::new(item_id, -456))
}
#[expect(clippy::unwrap_used, reason = "Example code")]
fn main() {
let processing_err = process(123).unwrap_err();
println!("Short message:\n{}", processing_err.message());
println!("\nFull display output:\n{processing_err}");
}