about summary refs log tree commit diff
diff options
context:
space:
mode:
authorxales <xales@naveria.com>2014-01-27 08:30:52 -0500
committerxales <xales@naveria.com>2014-01-27 09:02:22 -0500
commitb23fd080ffbfb8edba3219c4df53f1b284e6904d (patch)
treed9003972d2b12b0f95f2056b02d19b643c2fff03
parentb0280ac5385433bd663e825e24f6990a816a5f40 (diff)
downloadrust-b23fd080ffbfb8edba3219c4df53f1b284e6904d.tar.gz
rust-b23fd080ffbfb8edba3219c4df53f1b284e6904d.zip
Feature gate trace_macros.
Fixes #11631
-rw-r--r--src/librustc/front/feature_gate.rs5
-rw-r--r--src/test/compile-fail/gated-trace_macros.rs15
-rw-r--r--src/test/compile-fail/macros-nonfatal-errors.rs1
3 files changed, 21 insertions, 0 deletions
diff --git a/src/librustc/front/feature_gate.rs b/src/librustc/front/feature_gate.rs
index a0a9800926e..3c6a348c900 100644
--- a/src/librustc/front/feature_gate.rs
+++ b/src/librustc/front/feature_gate.rs
@@ -46,6 +46,7 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
     ("phase", Active),
     ("macro_registrar", Active),
     ("log_syntax", Active),
+    ("trace_macros", Active),
 
     // These are used to test this portion of the compiler, they don't actually
     // mean anything
@@ -193,6 +194,10 @@ impl Visitor<()> for Context {
             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") {
+            self.gate_feature("trace_macros", path.span, "`trace_macros` is not \
+                stable enough for use and is subject to change");
+        }
     }
 
     fn visit_ty(&mut self, t: &ast::Ty, _: ()) {
diff --git a/src/test/compile-fail/gated-trace_macros.rs b/src/test/compile-fail/gated-trace_macros.rs
new file mode 100644
index 00000000000..3e4a8a7e709
--- /dev/null
+++ b/src/test/compile-fail/gated-trace_macros.rs
@@ -0,0 +1,15 @@
+// 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.
+
+// xfail-fast feature doesn't work.
+
+fn main() {
+    trace_macros!(true); //~ ERROR: `trace_macros` is not stable
+}
diff --git a/src/test/compile-fail/macros-nonfatal-errors.rs b/src/test/compile-fail/macros-nonfatal-errors.rs
index 475faa75704..effab305c1a 100644
--- a/src/test/compile-fail/macros-nonfatal-errors.rs
+++ b/src/test/compile-fail/macros-nonfatal-errors.rs
@@ -12,6 +12,7 @@
 // immediately, so that we get more errors listed at a time.
 
 #[feature(asm)];
+#[feature(trace_macros)];
 
 #[deriving(Default, //~ ERROR
            Rand, //~ ERROR