From: Ralf Jung Date: Tue, 25 Feb 2025 19:26:12 +0000 (+0100) Subject: rustdoc: disable forbidden #[target_feature] check X-Git-Tag: archive/raspbian/1.85.0+dfsg2-2+rpi1~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f5bd6c66b8a09b2cf24e888744d842ec0de69e48;p=rustc.git rustdoc: disable forbidden #[target_feature] check (cherry picked from commit b6f22400002f7921feed13e35852e3041cf2b145) --- diff --git a/compiler/rustc_codegen_ssa/src/target_features.rs b/compiler/rustc_codegen_ssa/src/target_features.rs index 7e80d014ea..d673cd6e6b 100644 --- a/compiler/rustc_codegen_ssa/src/target_features.rs +++ b/compiler/rustc_codegen_ssa/src/target_features.rs @@ -149,8 +149,11 @@ pub(crate) fn provide(providers: &mut Providers) { assert_eq!(cnum, LOCAL_CRATE); let target = &tcx.sess.target; if tcx.sess.opts.actually_rustdoc { - // rustdoc needs to be able to document functions that use all the features, so - // whitelist them all + // HACK: rustdoc would like to pretend that we have all the target features, so we + // have to merge all the lists into one. The result has a "random" stability + // (depending on the order in which we consider features); all places that check + // target stability are expected to check `actually_rustdoc` and do nothing when + // that is set. rustc_target::target_features::all_rust_features() .map(|(a, b)| (a.to_string(), b.compute_toggleability(target))) .collect()