[][src]Macro flowutils::unwrap_pattern

unwrap_pattern!() { /* proc-macro */ }

A short version of if let when you already know the pattern.

Returns the inner value or panics. For a complex enum variant,

Example:

enum T{
   A(i32),
   B(String, u64),
   C{p: usize, q: f32, r: i8}
}

let some_enum = T::A(3);
let inner = flowutils::unwrap_pattern!(some_enum, T::A(x));

let some_enum = T::B(String::new("str"), 3);
let tuple: (u64, String) = flowutils::unwrap_pattern!(some_enum, T::B(var1, var2) => (var2, var1));

let some_enum = T::B(String::new("str"), 3);
let complex: usize = flowutils::unwrap_pattern!(some_enum, T::C{var3, _, var4}, var3);