about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libsyntax/feature_gate.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index dbddd9dd44d..2d6fbb7c683 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -409,6 +409,12 @@ impl<'a> Context<'a> {
 
 pub fn emit_feature_err(diag: &SpanHandler, feature: &str, span: Span, explain: &str) {
     diag.span_err(span, explain);
+
+    // #23973: do not suggest `#![feature(...)]` if we are in beta/stable
+    match option_env!("CFG_RELEASE_CHANNEL") {
+        Some("stable") | Some("beta") => return,
+        _ => {}
+    }
     diag.fileline_help(span, &format!("add #![feature({})] to the \
                                    crate attributes to enable",
                                   feature));
@@ -416,6 +422,12 @@ pub fn emit_feature_err(diag: &SpanHandler, feature: &str, span: Span, explain:
 
 pub fn emit_feature_warn(diag: &SpanHandler, feature: &str, span: Span, explain: &str) {
     diag.span_warn(span, explain);
+
+    // #23973: do not suggest `#![feature(...)]` if we are in beta/stable
+    match option_env!("CFG_RELEASE_CHANNEL") {
+        Some("stable") | Some("beta") => return,
+        _ => {}
+    }
     if diag.handler.can_emit_warnings {
         diag.fileline_help(span, &format!("add #![feature({})] to the \
                                        crate attributes to silence this warning",