#error-derive #enums #tree #derive-enums

error-enum

Provide a easy way to define an enum that represents errors with error codes, document comments and several other functionalities

10 releases (3 breaking)

1.0.0-alpha.4 Dec 10, 2025
1.0.0-alpha.1 Dec 9, 2025
0.4.1 Feb 8, 2024
0.3.0 Feb 8, 2024
0.1.0 Sep 28, 2023

#928 in Rust patterns

MIT/Apache

49KB
826 lines

Error Enum

crates.io docs.rs codecov

Used to generate documentation comments and Display implementation for tree-structured error types.

It also provides error rendering capabilities with colorful and detailed error messages, via implementing those traits or structs from crates listed below:

  • ariadne::Report (if ariadne feature is enabled)
  • annotate_snippets::display_list::DisplayList (if annotate-snippets feature is enabled)
  • codespan_reporting::diagnostic::Diagnostic and codespan_reporting::files::SimpleFiles (if codespan-reporting feature is enabled)
  • miette::Diagnostic (if miette feature is enabled)

Concepts

Concept Example
Number 1234
Code E1234
Kind error
Kind Acronym E
Kind error[E1234]
Message Prefix error[E1234]:
Description Access denied.
Message error[E1234]: Access denied.

Dependencies

~2.6–6.5MB
~116K SLoC