mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-13 12:47:01 +02:00
rust: update to 1.85.1
This commit is contained in:
parent
81efd24d35
commit
413597cc46
2 changed files with 2 additions and 99 deletions
|
@ -1,97 +0,0 @@
|
|||
Ported from https://github.com/rust-lang/rust/pull/137632
|
||||
|
||||
diff --git a/compiler/rustc_codegen_ssa/src/target_features.rs b/compiler/rustc_codegen_ssa/src/target_features.rs
|
||||
index 7e80d014e..4d1c10bbc 100644
|
||||
--- a/compiler/rustc_codegen_ssa/src/target_features.rs
|
||||
+++ b/compiler/rustc_codegen_ssa/src/target_features.rs
|
||||
@@ -62,24 +62,26 @@ pub(crate) fn from_target_feature_attr(
|
||||
return None;
|
||||
};
|
||||
|
||||
- // Only allow target features whose feature gates have been enabled
|
||||
- // and which are permitted to be toggled.
|
||||
- if let Err(reason) = stability.toggle_allowed(/*enable*/ true) {
|
||||
- tcx.dcx().emit_err(errors::ForbiddenTargetFeatureAttr {
|
||||
- span: item.span(),
|
||||
- feature,
|
||||
- reason,
|
||||
- });
|
||||
- } else if let Some(nightly_feature) = stability.requires_nightly()
|
||||
- && !rust_features.enabled(nightly_feature)
|
||||
- {
|
||||
- feature_err(
|
||||
- &tcx.sess,
|
||||
- nightly_feature,
|
||||
- item.span(),
|
||||
- format!("the target feature `{feature}` is currently unstable"),
|
||||
- )
|
||||
- .emit();
|
||||
+ if !tcx.sess.opts.actually_rustdoc {
|
||||
+ // Only allow target features whose feature gates have been enabled
|
||||
+ // and which are permitted to be toggled.
|
||||
+ if let Err(reason) = stability.toggle_allowed(/*enable*/ true) {
|
||||
+ tcx.dcx().emit_err(errors::ForbiddenTargetFeatureAttr {
|
||||
+ span: item.span(),
|
||||
+ feature,
|
||||
+ reason,
|
||||
+ });
|
||||
+ } else if let Some(nightly_feature) = stability.requires_nightly()
|
||||
+ && !rust_features.enabled(nightly_feature)
|
||||
+ {
|
||||
+ feature_err(
|
||||
+ &tcx.sess,
|
||||
+ nightly_feature,
|
||||
+ item.span(),
|
||||
+ format!("the target feature `{feature}` is currently unstable"),
|
||||
+ )
|
||||
+ .emit();
|
||||
+ }
|
||||
}
|
||||
Some(Symbol::intern(feature))
|
||||
}));
|
||||
@@ -149,9 +151,42 @@ 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
|
||||
- rustc_target::target_features::all_rust_features()
|
||||
+ // HACK: rustdoc would like to pretend that we have all the target features, so we
|
||||
+ // have to merge all the lists into one. To ensure an unstable target never prevents
|
||||
+ // a stable one from working, we merge the stability info of all instances of the
|
||||
+ // same target feature name, with the "most stable" taking precedence. And then we
|
||||
+ // hope that this doesn't cause issues anywhere else in the compiler...
|
||||
+ use target_features::StabilityUncomputed;
|
||||
+ use rustc_data_structures::fx::FxHashMap;
|
||||
+ let mut result: FxHashMap<String, StabilityUncomputed> = Default::default();
|
||||
+ for (name, stability) in rustc_target::target_features::all_rust_features() {
|
||||
+ use std::collections::hash_map::Entry;
|
||||
+ match result.entry(name.to_owned()) {
|
||||
+ Entry::Vacant(vacant_entry) => {
|
||||
+ vacant_entry.insert(stability);
|
||||
+ }
|
||||
+ Entry::Occupied(mut occupied_entry) => {
|
||||
+ // Merge the two stabilities, "more stable" taking precedence.
|
||||
+ match (occupied_entry.get(), &stability) {
|
||||
+ (StabilityUncomputed::Stable { .. }, _)
|
||||
+ | (
|
||||
+ StabilityUncomputed::Unstable { .. },
|
||||
+ StabilityUncomputed::Unstable { .. } | StabilityUncomputed::Forbidden { .. },
|
||||
+ )
|
||||
+ | (StabilityUncomputed::Forbidden { .. }, StabilityUncomputed::Forbidden { .. }) => {
|
||||
+ // The stability in the entry is at least as good as the new one, just keep it.
|
||||
+ }
|
||||
+ _ => {
|
||||
+ // Overwrite stabilite.
|
||||
+ occupied_entry.insert(stability.clone());
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ #[allow(rustc::potential_query_instability)]
|
||||
+ result
|
||||
+ .iter()
|
||||
.map(|(a, b)| (a.to_string(), b.compute_toggleability(target)))
|
||||
.collect()
|
||||
} else {
|
|
@ -8,7 +8,7 @@
|
|||
# uploaded to https://repo-default.voidlinux.org/distfiles/
|
||||
#
|
||||
pkgname=rust
|
||||
version=1.85.0
|
||||
version=1.85.1
|
||||
revision=1
|
||||
_llvmver=19
|
||||
hostmakedepends="curl pkg-config python3 tar cargo-bootstrap"
|
||||
|
@ -19,7 +19,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
|
|||
license="Apache-2.0 OR MIT"
|
||||
homepage="https://www.rust-lang.org/"
|
||||
distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
|
||||
checksum=2f4f3142ffb7c8402139cfa0796e24baaac8b9fd3f96b2deec3b94b4045c6a8a
|
||||
checksum=0f2995ca083598757a8d9a293939e569b035799e070f419a686b0996fb94238a
|
||||
lib32disabled=yes
|
||||
make_check=no # CBA for now
|
||||
python_version=3 # needed for python files in rust-src
|
||||
|
|
Loading…
Add table
Reference in a new issue