about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2019-10-31 18:25:40 +0200
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2019-10-31 19:08:10 +0200
commit73bde2f0ce38c57255840dd879ec10475ef44f2c (patch)
tree838de071d3abb9c00496db479c3a3cf5e1685906
parent20bfff66a95811c31990a774ee522f096d955b44 (diff)
Revert "pre-expansion gate label_break_value"
This reverts commit 137ded8ab1edf5112c45e0b6854272ae2e9d3a6d.
-rw-r--r--src/libsyntax/feature_gate/check.rs6
-rw-r--r--src/test/ui/feature-gates/feature-gate-label_break_value.rs5
-rw-r--r--src/test/ui/feature-gates/feature-gate-label_break_value.stderr2
3 files changed, 8 insertions, 5 deletions
diff --git a/src/libsyntax/feature_gate/check.rs b/src/libsyntax/feature_gate/check.rs
index d924cb608f8..1846ba5ed7b 100644
--- a/src/libsyntax/feature_gate/check.rs
+++ b/src/libsyntax/feature_gate/check.rs
@@ -518,6 +518,12 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
                                        "type ascription is experimental");
                 }
             }
+            ast::ExprKind::Block(_, opt_label) => {
+                if let Some(label) = opt_label {
+                    gate_feature_post!(&self, label_break_value, label.ident.span,
+                                    "labels on blocks are unstable");
+                }
+            }
             _ => {}
         }
         visit::walk_expr(self, e)
diff --git a/src/test/ui/feature-gates/feature-gate-label_break_value.rs b/src/test/ui/feature-gates/feature-gate-label_break_value.rs
index 8d7ecd27b45..6fc38f45517 100644
--- a/src/test/ui/feature-gates/feature-gate-label_break_value.rs
+++ b/src/test/ui/feature-gates/feature-gate-label_break_value.rs
@@ -1,8 +1,5 @@
-#[cfg(FALSE)]
-pub fn foo() {
+pub fn main() {
     'a: { //~ ERROR labels on blocks are unstable
         break 'a;
     }
 }
-
-fn main() {}
diff --git a/src/test/ui/feature-gates/feature-gate-label_break_value.stderr b/src/test/ui/feature-gates/feature-gate-label_break_value.stderr
index 6a861d3e04f..a417e0eec22 100644
--- a/src/test/ui/feature-gates/feature-gate-label_break_value.stderr
+++ b/src/test/ui/feature-gates/feature-gate-label_break_value.stderr
@@ -1,5 +1,5 @@
 error[E0658]: labels on blocks are unstable
-  --> $DIR/feature-gate-label_break_value.rs:3:5
+  --> $DIR/feature-gate-label_break_value.rs:2:5
    |
 LL |     'a: {
    |     ^^