Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.19.5
->0.26.0
0.19.4
->0.26.0
0.20.1
->0.26.0
Release Notes
Peternator7/strum (strum)
v0.26.3
Compare Source
EnumTable
because it's going to be deprecated in the nextversion.
itertools
by using the fullyqualified name rather than the inherent method.
string interpolation.
#[strum(to_string = "Field 0: {0}, Field 1: {1})")]
will now work for tuple variantsv0.26.2
Compare Source
EnumTryAs
AsRefStr
. Technically a breaking change,but
prefix
was just added in0.26.0
so it's a newer feature and it makes the feature more consisent in general.v0.26.1
core
instead ofstd
in VariantArray.v0.26.0
Breaking Changes
EnumVariantNames
macro has been renamedVariantNames
. The deprecation warning should steer you inthe right direction for fixing the warning.
added the implementation in your code.
Display
now supports format strings using named fields in the enum variant. This should be a no-op for most code.However, if you were outputting a string like
"Hello {field}"
, this will now be interpretted as a format string.closer to a mirror of the original and that's always the goal.
New features
The
VariantArray
macro has been added. This macro adds an associated constantVARIANTS
to your enum. The constantis a
&'static [Self]
slice so that you can access all the variants of your enum. This only works on enums that onlyhave unit variants.
The
EnumTable
macro has been experimentally added. This macro adds a new type that stores an item for each variantof the enum. This is useful for storing a value for each variant of an enum. This is an experimental feature because
I'm not convinced the current api surface area is correct.
Display
has 2 new features:the
strum(prefix = "some_value")
attribute on an enum now allows you to prepend a string onto everyvariant when you serialize it.
Custom
to_string
andserialize
attributes now support string interopolation on serialization.PR's Merged
std::fmt::Debug
VariantArray
EnumTable
macro to generate a mapping between fieldless variants and data.v0.25.0
Breaking Changes
#261 Upgrade syn dependency to version 2. This bumps the msrv to
1.56. It's impractical to maintain a package where a core dependency of the ecosystem has a different msrv than this one.
270 Change the
to_string
behavior when usingdefault
. Now, whenusing
default
, thedisplay
method will return the display version of the value contained in the enum rather thanthe name of the variant.
If you want the old behavior, you can use the
to_string
attribute to override this behavior. See the PR for an example.268 Update the behavior of
EnumCount
to exclude variants that aredisabled
. This is a breaking change, but the behavior makes it more consistent with other methods.New Features
#257 This PR adds the
EnumIs
macro that automatically implementsis_{variant_name}
methods for each variant.v0.24.1
EnumString
(opt-in runtimeperformance improvements for large enums as
#[strum(use_phf)]
, requiresphf
feature and increases MSRV to1.46
)TryFrom
inFromRepr
. This istechnically a breaking change, but the fix is to just remove the manual implementation of TryFrom so it shouldn't
be more than a minor inconvenience.
v0.24.0
#212. Fix some clippy lints
#209. Use
core
instead ofstd
in a few places.#206. Add
get_documentation()
toEnumMessage
. This providesthe ability to get the doc comment for a variant. Currently, very little formatting is done. That is subject to change.
Please do not abuse this feature. Rust docs are meant for developer documentation, not long messages for users. However,
this may be useful in some situations so we've added support for it.
#202. Add a missing doc comment
#201. Upgrade Heck version
v0.23.0
#185 Adds the
FromRepr
derive that adds afrom_repr(x: usize) -> Option<Self>
method to your enum. This lets you convert integer values to your enum. If you specify a #[repr(..)] attribute on your enum, or use
an explicit discriminant, this will be incorporated into the derive.
from_repr
will beconst
if you use a recent rust version.const
.#186 Automatically implement
TryFrom<str>
for enums that implementEnumString
.This is only enabled for rustc >= 1.34 which is when `TryFrom was stabilized.
TryFrom<str>
for your enum, this will cause a conflict. Youcan probably remove your manual implementation.
#189 Use
core::result::Result
instead ofstd::result::Result
. This should bemore portable in no-std environments.
v0.22.0
#180: Deprecates
ToString
derive. You should useDisplay
instead.
#178: Deprecates AsStaticStr. This has been undocumented for a while.
The recommended method is to derive
IntoStaticStr
instead.#171: Improve
no-std
support.#170: enable changing the path to strum traits. This is necessary
if you re-export strum as a submodule in another crate.
v0.21.0
Replace
std::
withcore::
to support no-std projects. #145Breaking Changes
heck
does not work in1.31.1
anymore. Rust 1.32 came out Jan 2019 so hopefullyteams have moved to an equal or newer version.
imported using a qualified path to avoid collisions.
strum_macros::EnumString
rather than using the "Rename"feature to avoid collisions.
is
fn get_message(&self) -> Option<&'static str>
.Added support for ascii_case_insensitive string comparisons. #157
This feature allows
FromString
impls to match strings that differ in case from the expected variant.v0.20.0
Refactors to do better error handling. Thanks @jplatte for these changes
Adding
vis(scope)
to EnumDiscriminants. #137earlier versions.
vis(r#pub)
These changes should not be breaking, but the amount of code modified was significant.
FYI about #122. The macro renames feature
will be removed in early 2021. This feature was only necessary in rust 2015 because macros
didn't support qualified imports so macro names could collide between crates.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.