about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2018-11-15 16:16:34 +0100
committerOliver Scherer <github35764891676564198441@oli-obk.de>2018-11-15 16:16:34 +0100
commitc8a9300d8e263cf3f37a7d6736a0167d085b19cd (patch)
treecf360e64c1cbc4ca70ab72b9a9581ed3afcfa09d /src
parent99e3fca27d141e2d100ebaf5d5a4104234ae201a (diff)
downloadrust-c8a9300d8e263cf3f37a7d6736a0167d085b19cd.tar.gz
rust-c8a9300d8e263cf3f37a7d6736a0167d085b19cd.zip
Fix stability hole with `static _`
Diffstat (limited to 'src')
-rw-r--r--src/libsyntax/feature_gate.rs1
-rw-r--r--src/test/ui/underscore_const_names_feature_gate.rs14
-rw-r--r--src/test/ui/underscore_const_names_feature_gate.stderr19
3 files changed, 34 insertions, 0 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index 55652c481bd..a7c97feee49 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -1583,6 +1583,7 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
                 }
             }
 
+            ast::ItemKind::Static(..) |
             ast::ItemKind::Const(_,_) => {
                 if i.ident.name == "_" {
                     gate_feature_post!(&self, underscore_const_names, i.span,
diff --git a/src/test/ui/underscore_const_names_feature_gate.rs b/src/test/ui/underscore_const_names_feature_gate.rs
new file mode 100644
index 00000000000..b2174036ded
--- /dev/null
+++ b/src/test/ui/underscore_const_names_feature_gate.rs
@@ -0,0 +1,14 @@
+// Copyright 2012-2018 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.
+
+const _: () = (); //~ ERROR is unstable
+static _: () = (); //~ ERROR is unstable
+
+fn main() {}
diff --git a/src/test/ui/underscore_const_names_feature_gate.stderr b/src/test/ui/underscore_const_names_feature_gate.stderr
new file mode 100644
index 00000000000..4cce252bcae
--- /dev/null
+++ b/src/test/ui/underscore_const_names_feature_gate.stderr
@@ -0,0 +1,19 @@
+error[E0658]: naming constants with `_` is unstable (see issue #54912)
+  --> $DIR/underscore_const_names_feature_gate.rs:11:1
+   |
+LL | const _: () = ();
+   | ^^^^^^^^^^^^^^^^^
+   |
+   = help: add #![feature(underscore_const_names)] to the crate attributes to enable
+
+error[E0658]: naming constants with `_` is unstable (see issue #54912)
+  --> $DIR/underscore_const_names_feature_gate.rs:12:1
+   |
+LL | static _: () = ();
+   | ^^^^^^^^^^^^^^^^^^
+   |
+   = help: add #![feature(underscore_const_names)] to the crate attributes to enable
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0658`.