- Removed usage of mutable global state from
#[auto_enum]
for forward compatibility. See also rust-lang/rust#63831.
- Fixed links to generated code.
- Improved documentation.
-
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
'sDeref
,DerefMut
,Index
,IndexMut
, andRangeBounds
traits optional. -
Added
"convert"
crate feature, and made[std|core]::convert
'sAsRef
andAsMut
traits optional. -
Added
"generator_trait"
crate feature, and made[std|core]::ops::Generator
traits optional. (nightly-only) -
Added
"fn_traits"
crate feature, and madeFn
,FnMut
, andFnOnce
traits optional. (nightly-only) -
Added
"trusted_len"
crate feature, and made[std|core]::iter::TrustedLen
traits optional. (nightly-only) -
Improved error messages.
(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"
feature must be explicitly enabled.
-
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
'sDeref
,DerefMut
,Index
,IndexMut
, andRangeBounds
traits optional. -
Added
"convert"
crate feature, and made[std|core]::convert
'sAsRef
andAsMut
traits optional. -
Added
"generator_trait"
crate feature, and made[std|core]::ops::Generator
traits optional. (nightly-only) -
Added
"fn_traits"
crate feature, and madeFn
,FnMut
, andFnOnce
traits optional. (nightly-only) -
Added
"trusted_len"
crate feature, and made[std|core]::iter::TrustedLen
traits optional. (nightly-only) -
Improved error messages.
-
Updated
proc-macro2
,syn
, andquote
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. -
Added some generated code examples.
- Added support for
futures::io::{AsyncSeek, AsyncBufRead}
.
-
Updated to new nightly.
iovec
stabilized.#[enum_derive]
automatically detects the rustc version and supportsRead::read_vectored
andWrite::write_vectored
as the part ofRead
andWrite
. -
Supported for latest
futures
0.3.0-alpha.16.
- Updated to new nightly.
futures_api
stabilized.
- Fixed trait support in
"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 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.
-
Added some generated code examples.
-
Added
"iovec"
crate feature. This supports the unstableiovec
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.
-
Reduced the feature of
"std"
crate feature. The current"std"
crate feature only determines whether to enablestd
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 byuse auto_enums::auto_enum;
. -
Removed
"unstable"
crate feature.
-
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
[core|std]::ops::Generator
.
-
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. -
Updated minimum
derive_utils
version to 0.6.0.
- Added support for
futures::{AsyncRead, AsyncWrite}
.
- Updated minimum
derive_utils
version to 0.5.4.
-
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.
-
Added support for
break
in loop. This includes support for nested loops and labeledbreak
. -
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.
-
Added support for
return
in function and closure. -
Added
"fmt"
crate feature, and made[std|core]::fmt
's traits other thanDebug
,Display
andWrite
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.33 and later. In versions less than 1.33,Error::cause
is always implemented.
-
Moved features of derive/utils to derive_utils.
-
Aligned version number of
auto_enumerate
andauto_enums
.
- Renamed from
auto_enumerate
toauto_enums
.
Initial release