auto merge of #12025 : lilac/rust/feature-gate-quote, r=brson
Closes #11630.
This commit is contained in:
commit
53864ce512
9 changed files with 26 additions and 7 deletions
|
|
@ -49,6 +49,7 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
|
|||
("trace_macros", Active),
|
||||
("simd", Active),
|
||||
("default_type_params", Active),
|
||||
("quote", Active),
|
||||
|
||||
// These are used to test this portion of the compiler, they don't actually
|
||||
// mean anything
|
||||
|
|
@ -189,24 +190,35 @@ impl Visitor<()> for Context {
|
|||
|
||||
fn visit_mac(&mut self, macro: &ast::Mac, _: ()) {
|
||||
let ast::MacInvocTT(ref path, _, _) = macro.node;
|
||||
let id = path.segments.last().unwrap().identifier;
|
||||
let quotes = ["quote_tokens", "quote_expr", "quote_ty",
|
||||
"quote_item", "quote_pat", "quote_stmt"];
|
||||
let msg = " is not stable enough for use and are subject to change";
|
||||
|
||||
if path.segments.last().unwrap().identifier == self.sess.ident_of("macro_rules") {
|
||||
|
||||
if id == self.sess.ident_of("macro_rules") {
|
||||
self.gate_feature("macro_rules", path.span, "macro definitions are \
|
||||
not stable enough for use and are subject to change");
|
||||
}
|
||||
|
||||
else if path.segments.last().unwrap().identifier == self.sess.ident_of("asm") {
|
||||
else if id == self.sess.ident_of("asm") {
|
||||
self.gate_feature("asm", path.span, "inline assembly is not \
|
||||
stable enough for use and is subject to change");
|
||||
}
|
||||
|
||||
else if path.segments.last().unwrap().identifier == self.sess.ident_of("log_syntax") {
|
||||
else if id == self.sess.ident_of("log_syntax") {
|
||||
self.gate_feature("log_syntax", path.span, "`log_syntax!` is not \
|
||||
stable enough for use and is subject to change");
|
||||
}
|
||||
else if path.segments.last().unwrap().identifier == self.sess.ident_of("trace_macros") {
|
||||
else if id == self.sess.ident_of("trace_macros") {
|
||||
self.gate_feature("trace_macros", path.span, "`trace_macros` is not \
|
||||
stable enough for use and is subject to change");
|
||||
} else {
|
||||
for "e in quotes.iter() {
|
||||
if id == self.sess.ident_of(quote) {
|
||||
self.gate_feature("quote", path.span, quote + msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ This API is completely unstable and subject to change.
|
|||
html_root_url = "http://static.rust-lang.org/doc/master")];
|
||||
|
||||
#[feature(macro_rules, globs, struct_variant, managed_boxes)];
|
||||
#[allow(unknown_features)]; // Note: remove it after a snapshot.
|
||||
#[feature(quote)];
|
||||
|
||||
extern mod extra;
|
||||
extern mod flate;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ This API is completely unstable and subject to change.
|
|||
html_root_url = "http://static.rust-lang.org/doc/master")];
|
||||
|
||||
#[feature(macro_rules, globs, managed_boxes)];
|
||||
#[allow(unknown_features)];// Note: remove it after a snapshot.
|
||||
#[feature(quote)];
|
||||
|
||||
#[deny(non_camel_case_types)];
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
// force-host
|
||||
|
||||
#[feature(globs, macro_registrar, macro_rules)];
|
||||
#[feature(globs, macro_registrar, macro_rules, quote)];
|
||||
|
||||
extern mod syntax;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
// except according to those terms.
|
||||
|
||||
// xfail-test Can't use syntax crate here
|
||||
#[feature(quote)];
|
||||
|
||||
extern mod extra;
|
||||
extern mod syntax;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
// except according to those terms.
|
||||
|
||||
// xfail-test Can't use syntax crate here
|
||||
#[feature(quote)];
|
||||
|
||||
extern mod extra;
|
||||
extern mod syntax;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
// xfail-pretty
|
||||
// xfail-test
|
||||
#[feature(quote)];
|
||||
|
||||
extern mod extra;
|
||||
extern mod syntax;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
// except according to those terms.
|
||||
|
||||
// xfail-test
|
||||
|
||||
#[feature(quote)];
|
||||
#[feature(managed_boxes)];
|
||||
|
||||
extern mod syntax;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
// xfail-fast
|
||||
// xfail-android
|
||||
|
||||
#[feature(quote)];
|
||||
#[deny(unused_variable)];
|
||||
|
||||
extern mod syntax;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue