about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2024-12-01 11:31:12 +0100
committerRalf Jung <post@ralfj.de>2024-12-03 07:52:01 +0100
commit7ac7b4c285d3130af463ce27584e2a4c08abf500 (patch)
tree1b735a6a04e4acd96c45a44c59b974f1080c4608
parent3a9bc76f809634b0ae9844147766818a1bdcd32b (diff)
downloadrust-7ac7b4c285d3130af463ce27584e2a4c08abf500.tar.gz
rust-7ac7b4c285d3130af463ce27584e2a4c08abf500.zip
./x miri: fix sysroot build
-rw-r--r--library/std/src/collections/hash/map.rs4
-rw-r--r--library/std/src/collections/hash/set.rs4
-rw-r--r--src/bootstrap/src/core/build_steps/test.rs4
3 files changed, 8 insertions, 4 deletions
diff --git a/library/std/src/collections/hash/map.rs b/library/std/src/collections/hash/map.rs
index 59dcdfd08cb..109bc394634 100644
--- a/library/std/src/collections/hash/map.rs
+++ b/library/std/src/collections/hash/map.rs
@@ -210,8 +210,8 @@ use crate::ops::Index;
 /// As explained above, `HashMap` is randomly seeded: each `HashMap` instance uses a different seed,
 /// which means that `HashMap::new` cannot be used in const context. To construct a `HashMap` in the
 /// initializer of a `const` or `static` item, you will have to use a different hasher that does not
-/// involve a random seed, as demonstrated in the following example. **`HashMap` constructed this
-/// way are not resistant against HashDoS!**
+/// involve a random seed, as demonstrated in the following example. **A `HashMap` constructed this
+/// way is not resistant against HashDoS!**
 ///
 /// ```rust
 /// use std::collections::HashMap;
diff --git a/library/std/src/collections/hash/set.rs b/library/std/src/collections/hash/set.rs
index 2a481dbaa62..4c81aaff458 100644
--- a/library/std/src/collections/hash/set.rs
+++ b/library/std/src/collections/hash/set.rs
@@ -107,8 +107,8 @@ use crate::ops::{BitAnd, BitOr, BitXor, Sub};
 /// Like `HashMap`, `HashSet` is randomly seeded: each `HashSet` instance uses a different seed,
 /// which means that `HashSet::new` cannot be used in const context. To construct a `HashSet` in the
 /// initializer of a `const` or `static` item, you will have to use a different hasher that does not
-/// involve a random seed, as demonstrated in the following example. **`HashSet` constructed this
-/// way are not resistant against HashDoS!**
+/// involve a random seed, as demonstrated in the following example. **A `HashSet` constructed this
+/// way is not resistant against HashDoS!**
 ///
 /// ```rust
 /// use std::collections::HashSet;
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs
index 4fa91c1a571..161157acffe 100644
--- a/src/bootstrap/src/core/build_steps/test.rs
+++ b/src/bootstrap/src/core/build_steps/test.rs
@@ -2756,6 +2756,10 @@ impl Step for Crate {
             // `lib.rs` file, and a `lib.miri.rs` file exists in the same folder, we build that
             // instead. But crucially we only do that for the library, not the test builds.
             cargo.env("MIRI_REPLACE_LIBRS_IF_NOT_TEST", "1");
+            // std needs to be built with `-Zforce-unstable-if-unmarked`. For some reason the builder
+            // does not set this directly, but relies on the rustc wrapper to set it, and we are not using
+            // the wrapper -- hence we have to set it ourselves.
+            cargo.rustflag("-Zforce-unstable-if-unmarked");
             cargo
         } else {
             // Also prepare a sysroot for the target.