Derive Macro enumcapsulate_macros::AsVariantRef
source · #[derive(AsVariantRef)]Expand description
Derive macro generating an impl of the trait FromVariant<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 AsVariantRef<Inner> for Outer {
fn as_variant_ref(&self) -> Option<&Inner> {
match self {
Outer::Inner(inner) => Some(inner),
_ => None,
}
}
}
// ...