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 @@ fn check_attribute(&self, attr: &ast::Attribute) { 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",