]> git.proxmox.com Git - rustc.git/blobdiff - compiler/rustc_ast_passes/src/feature_gate.rs
New upstream version 1.57.0+dfsg1
[rustc.git] / compiler / rustc_ast_passes / src / feature_gate.rs
index 038d31e7c98aee559e8568b35bbccb5b76b4436c..91b4597a9bb1f021357f9bfff3aada7bcee74ff0 100644 (file)
@@ -319,6 +319,7 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
 
                 gate_doc!(
                     cfg => doc_cfg
+                    cfg_hide => doc_cfg_hide
                     masked => doc_masked
                     notable_trait => doc_notable_trait
                     keyword => doc_keyword
@@ -762,10 +763,16 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session) {
 }
 
 fn maybe_stage_features(sess: &Session, krate: &ast::Crate) {
+    // checks if `#![feature]` has been used to enable any lang feature
+    // does not check the same for lib features unless there's at least one
+    // declared lang feature
     use rustc_errors::Applicability;
 
     if !sess.opts.unstable_features.is_nightly_build() {
         let lang_features = &sess.features_untracked().declared_lang_features;
+        if lang_features.len() == 0 {
+            return;
+        }
         for attr in krate.attrs.iter().filter(|attr| attr.has_name(sym::feature)) {
             let mut err = struct_span_err!(
                 sess.parse_sess.span_diagnostic,