about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2017-08-10 01:42:36 +0200
committerest31 <MTest31@outlook.com>2017-08-10 02:43:31 +0200
commit5cf9f6330a02a0e86f08223289c74b36fba784db (patch)
tree3566fdc101ff0984f143842b79ebc8f01b0a7041 /src/libsyntax/ext
parentb6ac9c0d302b361ae1747c496f1bd88f04e556d8 (diff)
downloadrust-5cf9f6330a02a0e86f08223289c74b36fba784db.tar.gz
rust-5cf9f6330a02a0e86f08223289c74b36fba784db.zip
Add a feature gate
@alexcrichton figured out a way how to do it :)
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/source_util.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libsyntax/ext/source_util.rs b/src/libsyntax/ext/source_util.rs
index 3cdd3a4b2c3..b293aa8de38 100644
--- a/src/libsyntax/ext/source_util.rs
+++ b/src/libsyntax/ext/source_util.rs
@@ -52,6 +52,16 @@ pub fn expand_column(cx: &mut ExtCtxt, sp: Span, tts: &[tokenstream::TokenTree])
     base::MacEager::expr(cx.expr_u32(topmost, loc.col.to_usize() as u32))
 }
 
+/* __rust_unstable_column!(): expands to the current column number */
+pub fn expand_column_gated(cx: &mut ExtCtxt, sp: Span, tts: &[tokenstream::TokenTree])
+                  -> Box<base::MacResult+'static> {
+    if sp.allows_unstable() {
+        expand_column(cx, sp, tts)
+    } else {
+        cx.span_fatal(sp, "the __rust_unstable_column macro is unstable");
+    }
+}
+
 /// file!(): expands to the current filename */
 /// The filemap (`loc.file`) contains a bunch more information we could spit
 /// out if we wanted.