Skip to content

Commit

Permalink
auto merge of #19778 : aochagavia/rust/ice, r=alexcrichton
Browse files Browse the repository at this point in the history
Fixes #19734
  • Loading branch information
bors committed Dec 15, 2014
2 parents b677746 + 8788cb0 commit ef0bc46
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 9 deletions.
19 changes: 10 additions & 9 deletions src/libsyntax/ext/expand.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1021,16 +1021,17 @@ fn expand_method(m: P<ast::Method>, fld: &mut MacroExpander) -> SmallVector<P<as
|meths, mark| meths.move_map(|m| mark_method(m, mark)),
fld);

let new_methods = match maybe_new_methods {
Some(methods) => methods,
match maybe_new_methods {
Some(methods) => {
// expand again if necessary
let new_methods = methods.into_iter()
.flat_map(|m| fld.fold_method(m).into_iter())
.collect();
fld.cx.bt_pop();
new_methods
}
None => SmallVector::zero()
};

// expand again if necessary
let new_methods = new_methods.into_iter()
.flat_map(|m| fld.fold_method(m).into_iter()).collect();
fld.cx.bt_pop();
new_methods
}
}
})
}
Expand Down
15 changes: 15 additions & 0 deletions src/test/compile-fail/issue-19734.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

fn main() {}

impl Type {
undef!() //~ ERROR macro undefined: 'undef!'
}

0 comments on commit ef0bc46

Please sign in to comment.