diff options
Diffstat (limited to 'src/test/ui/borrowck/borrowck-macro-interaction-issue-6304.rs')
-rw-r--r-- | src/test/ui/borrowck/borrowck-macro-interaction-issue-6304.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/test/ui/borrowck/borrowck-macro-interaction-issue-6304.rs b/src/test/ui/borrowck/borrowck-macro-interaction-issue-6304.rs deleted file mode 100644 index 4e969f6ed..000000000 --- a/src/test/ui/borrowck/borrowck-macro-interaction-issue-6304.rs +++ /dev/null @@ -1,36 +0,0 @@ -// run-pass -#![allow(dead_code)] -#![allow(unused_variables)] -#![allow(unconditional_recursion)] - -// Check that we do not ICE when compiling this -// macro, which reuses the expression `$id` - -#![feature(box_patterns)] - -struct Foo { - a: isize -} - -pub enum Bar { - Bar1, Bar2(isize, Box<Bar>), -} - -impl Foo { - fn elaborate_stm(&mut self, s: Box<Bar>) -> Box<Bar> { - macro_rules! declare { - ($id:expr, $rest:expr) => ({ - self.check_id($id); - Box::new(Bar::Bar2($id, $rest)) - }) - } - match s { - box Bar::Bar2(id, rest) => declare!(id, self.elaborate_stm(rest)), - _ => panic!() - } - } - - fn check_id(&mut self, s: isize) { panic!() } -} - -pub fn main() { } |