rust/tests/ui/rfcs/rfc-2294-if-let-guard/partially-macro-expanded.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

19 lines
430 B
Rust
Raw Normal View History

2023-08-24 03:41:30 -05:00
// Macros can be used for (parts of) the pattern and expression in an if let guard
// check-pass
#![feature(if_let_guard)]
#![feature(let_chains)]
macro_rules! m {
(pattern $i:ident) => { Some($i) };
(expression $e:expr) => { $e };
}
fn main() {
match () {
() if let m!(pattern x) = m!(expression Some(4)) => {}
() if let [m!(pattern y)] = [Some(8 + m!(expression 4))] => {}
_ => {}
}
}