Nested Expressions
We can nest match
expressions by placing them inside code blocks.
enum TopLevel {
One: (),
Two: SecondLevel,
}
enum SecondLevel {
Value1: u64,
Value2: (),
}
fn nested_match(input: TopLevel) -> u64 {
match input {
TopLevel::One => 1,
TopLevel::Two(second) => {
match second {
SecondLevel::Value1(2) => 2,
SecondLevel::Value1(_) => 3,
SecondLevel::Value2 => 42,
}
},
}
}