chiark
/
gitweb
/
~ianmdlvl
/
otter.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fe5fd70
)
if_let: Provide a cardboard cutout version for basic struct variants
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 2 May 2021 21:11:42 +0000
(22:11 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 2 May 2021 21:11:42 +0000
(22:11 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
base/misc.rs
patch
|
blob
|
history
diff --git
a/base/misc.rs
b/base/misc.rs
index 7ee1c6f58da340e3b088ff073b9eff9c24ae1e52..c6bbe0615695b7da051aba6ff427a23d176526e7 100644
(file)
--- 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)* },
+ };
+ };
}