rollup merge of #21704: FlaPer87/macro-reexport

Conflicts:
	src/libstd/lib.rs
This commit is contained in:
Alex Crichton 2015-01-30 12:03:16 -08:00
commit 692a3661fb
8 changed files with 18 additions and 1 deletions

View File

@ -114,7 +114,6 @@
#![feature(old_impl_check)]
#![feature(optin_builtin_traits)]
#![feature(int_uint)]
#![feature(int_uint)]
#![feature(core)]
#![feature(libc)]
#![feature(alloc)]
@ -125,6 +124,7 @@
#![cfg_attr(test, feature(test))]
// NOTE(stage0): remove cfg_attr after a snapshot
#![cfg_attr(not(stage0), allow(unused_mut))]
#![feature(macro_reexport)]
// Don't link to std. We are std.
#![no_std]

View File

@ -109,6 +109,9 @@ static KNOWN_FEATURES: &'static [(&'static str, &'static str, Status)] = &[
// int and uint are now deprecated
("int_uint", "1.0.0", Active),
// macro reexport needs more discusion and stabilization
("macro_reexport", Active),
// These are used to test this portion of the compiler, they don't actually
// mean anything
("test_accepted_feature", "1.0.0", Accepted),
@ -272,6 +275,10 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> {
self.gate_feature("plugin", i.span,
"compiler plugins are experimental \
and possibly buggy");
} else if attr::contains_name(&i.attrs[], "macro_reexport") {
self.gate_feature("macro_reexport", i.span,
"macros reexports are experimental \
and possibly buggy");
}
}

View File

@ -9,6 +9,7 @@
// except according to those terms.
#![crate_type = "dylib"]
#![feature(macro_reexport)]
#[macro_reexport(reexported)]
#[macro_use] #[no_link]

View File

@ -9,6 +9,7 @@
// except according to those terms.
#![crate_type = "dylib"]
#![feature(macro_reexport)]
#[macro_reexport(reexported)]
#[no_link]

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(macro_reexport)]
#[macro_reexport] //~ ERROR bad macro reexport
extern crate std;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(macro_reexport)]
#[macro_reexport="foo"] //~ ERROR bad macro reexport
extern crate std;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(macro_reexport)]
#[macro_reexport(foo="bar")] //~ ERROR bad macro reexport
extern crate std;

View File

@ -11,6 +11,8 @@
// aux-build:macro_reexport_1.rs
// ignore-stage1
#![feature(macro_reexport)]
#[macro_reexport(reexported)]
#[no_link]
extern crate macro_reexport_1;