NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1436 most downloaded on crates.io
Rust custom-derive macro for Default with more control on the fields
Last release 3 years ago
no release in 18 months
Ships unpredictably
gaps range from 1 weeks to 3.4 years
Nearly every release is documented
notes for 10 of 10 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
10 releases · first in 2017
Fixed bug where the macro fails on valid default expression that is also a valid attribute meta because it was expecting the _code hack.
_code hack.### Changed - Update syn to version 2
syn to version 2Update syn, quote and proc-macro2 versions to 1.*.*.
One column per quarter.
syn, quote and proc-macro2 versions to 1.*.*.Omit linting of generated code by adding #[automatically_derived] attribute.
#[automatically_derived] attribute.Don't use a multi-pattern if let, as this unnecessarily requires version 1.33.0 of Rust.
if let, as this unnecessarily requires version
1.33.0 of Rust.When the default is a string literal, strap an .into() after it to automatically convert it to String when needed.
.into() after it to
automatically convert it to String when needed.### Added - #[default(_code = "...")] syntax for defaults that cannot be parsed as attributes no matter what.
#[default(_code = "...")] syntax for defaults that cannot be parsed as
attributes no matter what.Use direct attribute value instead of having to wrap them in strings.
#[default(...)] syntax in addition to #[default = ...]. This is required
to deal with some parsing limitations.Generate doc for the trait impl that describes the default values.
Custom derive SmartDefault for implementing the Default trait.
SmartDefault for implementing the Default trait.#[default = ...] attribute on fields for smart-default.Your coding agent can read these notes before it upgrades. Set up the MCP server →