.. /index

derive_more

derive_more

derive_more is the Swiss-army knife of Rust derive macros, with 200M+ all-time downloads. It generates trait implementations for enums, structs, and newtypes across four categories: conversions, formatting, error handling, and operators. It is particularly valuable for the newtype pattern and enums wrapping inner types.

Conversions

Display and formatting

Error handling

Operators

Utility methods

The IsVariant, Unwrap, and TryUnwrap derives overlap with enum-as-inner's accessor methods but are bundled into a single dependency.

When to use derive_more

Use derive_more when you need trait derivation across multiple categories — conversions, formatting, operators — from a single crate. For enum-specific ergonomics (iteration, string conversion, metadata), strum is more focused. For error types specifically, thiserror is the ecosystem standard with wider adoption. See rust-enum-crates for the full landscape.

Linked from

Sources