From: Ian Jackson Date: Sun, 2 May 2021 21:11:42 +0000 (+0100) Subject: if_let: Provide a cardboard cutout version for basic struct variants X-Git-Tag: otter-0.6.0~468 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=e10daa1e5b331e4bdd3017d6bafff5172db7a789;p=otter.git if_let: Provide a cardboard cutout version for basic struct variants Signed-off-by: Ian Jackson --- diff --git a/base/misc.rs b/base/misc.rs index 7ee1c6f5..c6bbe061 100644 --- a/base/misc.rs +++ b/base/misc.rs @@ -75,4 +75,12 @@ macro_rules! if_let { _ => { $($otherwise)* }, }; }; + { $($variant:ident)::+ {$binding:ident} = $input:expr; + else $($otherwise:tt)* + } => { + let $binding = match $input { + $($variant)::+ { $binding } => $binding, + _ => { $($otherwise)* }, + }; + }; }