#[derive(AsVariantMut)]
{
// Attributes available to this derive:
#[enumcapsulate]
}
Expand description
Derive macro generating an impl of the trait From<T>.
It generates an impl for each of the enum’s
newtype variants, where Inner is the variant’s field type
and Outer is the enclosing enum’s type.
ⓘ
struct Inner;
enum Outer {
Inner(Inner),
// ...
}
// The generated impls look something along these lines:
impl AsVariantMut<Inner> for Outer {
fn as_variant_mut(&mut self) -> Option<&mut Inner> {
match self {
Outer::Inner(inner) => Some(inner),
_ => None,
}
}
}
// ...