2018-08-30 07:18:55 -05:00
|
|
|
// run-pass
|
2015-05-22 09:37:44 -05:00
|
|
|
macro_rules! pat_in {
|
|
|
|
($p:pat in $e:expr) => {{
|
|
|
|
let mut iter = $e.into_iter();
|
|
|
|
while let $p = iter.next() {}
|
2020-11-10 18:00:53 -06:00
|
|
|
}};
|
2015-05-22 09:37:44 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
macro_rules! pat_if {
|
|
|
|
($p:pat if $e:expr) => {{
|
|
|
|
match Some(1u8) {
|
2020-11-10 18:00:53 -06:00
|
|
|
$p if $e => {}
|
2015-05-22 09:37:44 -05:00
|
|
|
_ => {}
|
|
|
|
}
|
2020-11-10 18:00:53 -06:00
|
|
|
}};
|
2016-01-06 17:22:47 -06:00
|
|
|
}
|
|
|
|
|
2015-05-22 09:37:44 -05:00
|
|
|
fn main() {
|
|
|
|
pat_in!(Some(_) in 0..10);
|
|
|
|
pat_if!(Some(x) if x > 0);
|
|
|
|
}
|