auto merge of #11687 : sfackler/rust/macro-export-inner-crate, r=alexcrichton

It previously missed anything in an inner module.
This commit is contained in:
bors 2014-01-21 00:06:22 -08:00
commit 6f3326f84d
3 changed files with 41 additions and 0 deletions

View File

@ -1720,6 +1720,7 @@ impl<'a, 'b> Visitor<()> for MacroDefVisitor<'a, 'b> {
}
_ => {}
}
visit::walk_item(self, item, ());
}
}

View File

@ -0,0 +1,18 @@
// Copyright 2014 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.
#[feature(macro_rules)];
pub mod inner {
#[macro_export]
macro_rules! foo(
() => (1)
)
}

View File

@ -0,0 +1,22 @@
// Copyright 2014 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.
//aux-build:macro_export_inner_module.rs
//xfail-stage1
//xfail-fast
#[feature(phase)];
#[phase(syntax)]
extern mod macro_export_inner_module;
pub fn main() {
assert_eq!(1, foo!());
}