//@ run-pass | |
#![allow(dead_code)] | |
// after fixing #9384 and implementing hygiene for match bindings, | |
// this now fails because the insertion of the 'y' into the match | |
// doesn't cause capture. Making this macro hygienic (as I've done) | |
// could very well make this test case completely pointless.... | |
enum T { | |
A(isize), | |
B(usize) | |
} | |
macro_rules! test { | |
($id:ident, $e:expr) => ( | |
fn foo(t: T) -> isize { | |
match t { | |
T::A($id) => $e, | |
T::B($id) => $e | |
} | |
} | |
) | |
} | |
test!(y, 10 + (y as isize)); | |
pub fn main() { | |
foo(T::A(20)); | |
} |