NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2108 most downloaded on crates.io
A library for to allow multiple return types by automatically generated enum.
Last release 2 months ago
25 Jul 2026
Release timing varies
gaps range from 2 weeks to 1.9 years
Nearly every release is documented
notes for 56 of 56 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
59 releases · first in 2018
Update syn dependency to 3. ( #166 , thanks @cuviper )
Add Into<T> derive implementation ( #164 , thanks @vic1707 ).
Into<T> derive implementation (#164, thanks @vic1707).One column per quarter.
Enable release immutability .
Update derive_utils to 0.15. This uses #[automatically_derived] on generated impls to improve coverage support.
derive_utils to 0.15. This uses #[automatically_derived] on generated impls to improve coverage support.Disable derive feature of syn dependency.
derive feature of syn dependency.Update derive_utils to 0.14. This fixes "overflow evaluating the requirement" error with #[enum_derive] in two situations.
derive_utils to 0.14. This fixes "overflow evaluating the requirement" error with #[enum_derive] in two situations.Add support for http_body1::Body . ( #161 , thanks @nwtgck )
This renames unstable generator_trait feature to coroutine_trait . The old cargo feature name is kept as a deprecated alias and will be removed in the…
Update to new coroutine API since nightly-2023-10-21. This renames unstable generator_trait feature to coroutine_trait. The old cargo feature name is kept as a deprecated alias and will be removed in the next breaking release. (daf9165)
Recognize full path to std types/functions. (28507ca)
Update syn to 2. ( #158 , thanks @cuviper )
Increase the minimum supported Rust version from Rust 1.31 to Rust 1.56.
Increase the minimum supported Rust version from Rust 1.31 to Rust 1.56.
Update minimal version of proc-macro2 to 1.0.60.
Remove futures feature. Use futures03 feature instead.
Exclude unneeded files from crates.io.
Add support for `tokio1::{AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead}`.
- Documentation improvements.
- Update derive_utils to 0.11.
derive_utils to 0.11.Add support for `tokio03::{AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead}`.
Fix panic when multiple errors occur.
Diagnostic improvements.
`type_analysis` feature can now support impl trait in bindings.
type_analysis feature can now support impl trait in bindings.
#[auto_enum]
fn foo(x: i32) {
// Unlike `feature(impl_trait_in_bindings)`, this works on stable compilers.
#[auto_enum]
let iter: impl Iterator<Item = i32> = match x {
0 => Some(0).into_iter(),
_ => 0..x,
};
}
- Updated derive_utils to 0.10.
derive_utils to 0.10.[Fixed an issue that #[auto_enum] on non-statement expression does not work without unstable features.]
Added support for `tokio02::{AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead}`.
Update to support latest generator.
Update to support latest generator.
Updated to support futures 0.3.0. (futures feature is no longer unstable)
futures 0.3.0. (futures feature is no longer unstable)[Support #[nested] for nested if expressions.]
Fixed bugs of "type_analysis" feature.
Removed unstable "exact_size_is_empty", "read_initializer", and "try_trait" crate features.
Updated to support futures-preview 0.3.0-alpha.19.
futures-preview 0.3.0-alpha.19.[Removed usage of mutable global state from #[auto_enum] for forward compatibility.](https://github.com/taiki-e/auto_enums/pull/60) See also rust-lang
- Fixed links to generated code.
- Documentation improvements.
Added `"unstable"` crate feature to separate unstable features from stable features. When using features that depend on unstable APIs, the "unstable"
Added "unstable" crate feature to separate unstable features from stable features. When using features that depend on unstable APIs, the "unstable" feature must be explicitly enabled.
Improved compile time.
Renamed #[rec] to #[nested].
Removed never option in argument position in favor of #[enum_derive] attribute.
Added "ops" crate feature, and made [std|core]::ops's Deref, DerefMut, Index, IndexMut, and RangeBounds traits optional.
Added "convert" crate feature, and made [std|core]::convert's AsRef and AsMut traits optional.
Added "generator_trait" crate feature, and made [std|core]::ops::Generator traits optional. (nightly-only)
Added "fn_traits" crate feature, and made Fn, FnMut, and FnOnce traits optional. (nightly-only)
Added "trusted_len" crate feature, and made [std|core]::iter::TrustedLen traits optional. (nightly-only)
Diagnostic improvements.
(There are no changes since the 0.6.0-alpha.3 release.)
Added `"unstable"` crate feature to separate unstable features from stable features. When using features that depend on unstable APIs, the "unstable"
"unstable" crate feature to separate unstable features from stable features. When using features that depend on unstable APIs, the "unstable" feature must be explicitly enabled.Removed `marker(name)` option in favor of `marker = name`.
[Removed never option in argument position in favor of #[enum_derive] attribute.]
Renamed #[rec] to #[nested].
Removed never option in argument position in favor of #[enum_derive] attribute.
Improved compile time.
Added "ops" crate feature, and made [std|core]::ops's Deref, DerefMut, Index, IndexMut, and RangeBounds traits optional.
Added "convert" crate feature, and made [std|core]::convert's AsRef and AsMut traits optional.
Added "generator_trait" crate feature, and made [std|core]::ops::Generator traits optional. (nightly-only)
Added "fn_traits" crate feature, and made Fn, FnMut, and FnOnce traits optional. (nightly-only)
Added "trusted_len" crate feature, and made [std|core]::iter::TrustedLen traits optional. (nightly-only)
Diagnostic improvements.
Updated proc-macro2, syn, and quote to 1.0.
Updated proc-macro2, syn, and quote to 1.0.
Updated derive_utils to 0.9. This improves the error message.
Added some generated code examples.
Updated to support futures-preview 0.3.0-alpha.17.
Updated to support futures-preview 0.3.0-alpha.17.
Added some generated code examples.
Added support for futures::{AsyncSeek, AsyncBufRead}.
futures::io::{AsyncSeek, AsyncBufRead}.Updated to new nightly. iovec stabilized. #[enum_derive] automatically detects the rustc version and supports Read::read_vectored and Write::write_vec
Updated to new nightly. iovec stabilized. #[enum_derive] automatically detects the rustc version and supports Read::read_vectored and Write::write_vectored as the part of Read and Write.
Supported for latest futures 0.3.0-alpha.16.
Updated to new nightly. futures_api stabilized.
futures_api stabilized.Fixed trait support in "type_analysis" feature.
"type_analysis" feature.Fixed the problem that "failed to resolve: use of undeclared type or module" (E0433) error is shown when one or more compilation errors occur when mul
Fixed the problem that "failed to resolve: use of undeclared type or module" (E0433) error is shown when one or more compilation errors occur when multiple #[auto_enum] attributes are used.
Improved the error message of #[enum_derive] attribute.
Updated minimum derive_utils version to 0.7.0. This improves the error message.
Greatly improved the error message of #[auto_enum] attribute.
#[auto_enum] attribute.Added some generated code examples.
Added some generated code examples.
Added "iovec" crate feature. This supports the unstable iovec feature (rust-lang/rust#58452).
Updated minimum syn version to 0.15.29. This fixes some warnings.
Fixed examples and some sentence in README.md.
Transition to Rust 2018. With this change, the minimum required version will go up to Rust 1.31.
Transition to Rust 2018. With this change, the minimum required version will go up to Rust 1.31.
Reduced the feature of "std" crate feature. The current "std" crate feature only determines whether to enable std library's traits (e.g., std::io::Read) support. "std" crate feature is enabled by default, but you can reduce compile time by disabling this feature.
Fixed problem where "macro attributes must be placed before #[derive]" error occurred when #[enum_derive] attribute was used with other attributes.
No longer need #[macro_use] extern crate auto_enums;. You can use #[auto_enum] attribute by use auto_enums::auto_enum;.
Removed "unstable" crate feature.
Added some generated code examples.
Updated to new nightly.
Added some generated code examples.
Updated minimum derive_utils version to 0.6.3.
Updated minimum syn version to 0.15.22.
Updated minimum smallvec version to 0.6.9.
Added support for ? operator in functions and closures.
Added support for ? operator in functions and closures.
Added support for [core|std]::ops::Generator.
Updated minimum derive_utils version to 0.6.1.
Updated minimum derive_utils version to 0.6.1.
Updated minimum smallvec version to 0.6.8.
- Fixed bug of closure support.
Parentheses and type ascription can now be searched recursively.
Improved performance of #[auto_enum] attribute.
Improved performance of #[auto_enum] attribute.
Updated minimum derive_utils version to 0.6.0.
Added support for futures::{AsyncRead, AsyncWrite}.
futures::{AsyncRead, AsyncWrite}.Updated minimum derive_utils version to 0.5.4.
derive_utils version to 0.5.4.Updated minimum derive_utils version to 0.5.3.
Improved error messages.
Updated minimum derive_utils version to 0.5.3.
Updated minimum derive_utils version to 0.5.1. This includes support to stable Pin API.
derive_utils version to 0.5.1. This includes support to stable Pin API.Added support for break in loop. This includes support for nested loops and labeled break.
Added support for break in loop. This includes support for nested loops and labeled break.
Changed #[enum_derive(Error)] implementation. The code generated by the new implementation.
Removed "error_cause" crate feature.
Updated minimum derive_utils version to 0.5.0.
Updated minimum derive_utils version to 0.4.0.
derive_utils version to 0.4.0.Added support for return in function and closure.
Added support for return in function and closure.
Added "fmt" crate feature, and made [std|core]::fmt's traits other than Debug, Display and Write optional.
Changed #[enum_derive(Error)] implementation. In Rust 1.33, Error::cause is deprecated. In the new implementation, Error::cause is optional for Rust 1…
#[enum_derive(Error)] implementation. In Rust 1.33, Error::cause is deprecated. In the new implementation, Error::cause is optional for Rust 1.33 and later. In versions less than 1.33, Error::cause is always implemented.Moved features of derive/utils to derive_utils.
Moved features of derive/utils to derive_utils.
Aligned version number of auto_enumerate and auto_enums.
[Unreleased]: https://github.com/taiki-e/auto_enums/compare/v0.8.10...HEAD [0.8.10]: https://github.com/taiki-e/auto_enums/compare/v0.8.9...v0.8.10 [0
Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →