nestum 0.3.2

Proc-macro for nested enum paths like Enum1::Variant1::VariantA
Documentation
use nestum::{nested, nestum};

#[nestum]
pub enum Leaf {
    Node { x: i32 },
}

#[nestum]
pub enum Mid {
    Leaf(Leaf),
}

#[nestum]
pub enum Outer {
    Mid(Mid),
    Tail,
}

fn main() {
    let value: Outer::Enum = nested! { Outer::Mid::Leaf::Node { x: 5 } };
    let pair = nested! { (Outer::Mid::Leaf::Node { x: 6 }, Some(Outer::Mid::Leaf::Node { x: 7 })) };

    nested! {
        match value {
            Outer::Mid::Leaf::Node { x } => {
                let _ = x;
            }
            Outer::Tail => {}
        }
    }

    let _ = pair;
}