Macro erg_common::enum_unwrap
source · macro_rules! enum_unwrap {
($ex: expr, $Enum: path $(,)*) => { ... };
($ex: expr, $Enum: path :( $Cons: path :(_) ) $(,)*) => { ... };
($ex: expr, $Enum: path :( $Cons: path :( $Cons2: path :(_) ) ) $(,)*) => { ... };
($ex: expr, $Enum: path {$($fields: ident $(,)*)*}) => { ... };
}
Expand description
2重のunwrapまでサポート :は制限を回避するためのdummy token
use erg_common::Str;
let i: i32 = enum_unwrap!(Some(1), Some);
let s: &str = enum_unwrap!(Some(Str::ever("a")), Some:(Str::Static:(_)));