into_variant
Easily convert your types into the corresponding enum variant.
Usage
Commonly in Rust, you'll have enum variants with a single field – such enums let you differentiate between different types of values. For example, you might have a hierarchy of possible app messages:
use VariantFrom;
Normally, if you wanted to construct one of these messages, you'd have to type a long chain of nested enums:
File
// ^^^^^^^^^^^^^^^^^^^^^^^^ this bit is redundant, let's infer it automatically!
However, since there is only one way to create an AppMessage with a SaveMessage inside, we can infer the enum variants automatically – that's what this crate is for!
You also get into_variant, which gets even shorter if AppMessage can be inferred too – for example, in function calls:
Works for arbitrarily deeply nested enums!
You can find the full example, along with others, in tests/app_message.rs.
Project Status
I needed this for a thing, so it might get maintained for a while. Suggestions are appreciated, but I can't guarantee I'll address them.