| Crates.io | facet-error |
| lib.rs | facet-error |
| version | 0.43.2 |
| created_at | 2025-12-28 12:29:03.921741+00 |
| updated_at | 2026-01-23 18:04:20.584367+00 |
| description | thiserror replacement powered by facet - derive Error trait from doc comments |
| homepage | |
| repository | https://github.com/facet-rs/facet |
| max_upload_size | |
| id | 2008715 |
| size | 25,740 |
A thiserror replacement powered by facet reflection. This crate is a plugin for #[derive(Facet)] that generates Display and Error trait implementations from doc comments.
use facet::Facet;
#[derive(Facet, Debug)]
#[facet(derive(Error))]
#[repr(u8)]
pub enum MyError {
/// something went wrong
Unknown,
/// invalid value: {0}
InvalidValue(String),
/// invalid header (expected {expected}, found {found})
InvalidHeader { expected: String, found: String },
}
This generates:
impl Display for MyError using doc comments as format stringsimpl Error for MyError with proper source() implementation{expected}, {found}){0})#[facet(error::source)] - mark fields as error sources#[facet(error::from)] - generate From implementationsThanks to all individual sponsors:
...along with corporate sponsors:
...without whom this work could not exist.
The facet logo was drawn by Misiasart.
Licensed under either of:
at your option.