Skip to content

Commit 693fcf6

Browse files
committed
Auto merge of #3801 - RalfJung:rustup, r=RalfJung
Rustup
2 parents c909ccc + 5c6b4f3 commit 693fcf6

File tree

8 files changed

+24
-21
lines changed

8 files changed

+24
-21
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ degree documented below):
212212
- All Rust [Tier 1 targets](https://doc.rust-lang.org/rustc/platform-support.html) are supported by
213213
Miri. They are all checked on Miri's CI, and some (at least one per OS) are even checked on every
214214
Rust PR, so the shipped Miri should always work on these targets.
215-
- `aarch64-apple-darwin` is supported.
216215
- `s390x-unknown-linux-gnu` is supported as our "big-endian target of choice".
217216
- For every other target with OS `linux`, `macos`, or `windows`, Miri should generally work, but we
218217
make no promises and we don't run tests for such targets.

ci/ci.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ case $HOST_TARGET in
137137
MANY_SEEDS=16 TEST_TARGET=x86_64-pc-windows-gnu run_tests
138138
;;
139139
aarch64-apple-darwin)
140-
# Host (tier 2)
140+
# Host
141141
GC_STRESS=1 MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests
142142
# Extra tier 1
143143
MANY_SEEDS=64 TEST_TARGET=i686-pc-windows-gnu run_tests

miri-script/src/commands.rs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,20 @@ impl Command {
137137
}
138138
}
139139

140-
// Wait until the port is open.
141-
let josh_ready = net::TcpStream::connect_timeout(
142-
&net::SocketAddr::from(([127, 0, 0, 1], JOSH_PORT)),
143-
Duration::from_secs(1),
144-
)
145-
.context("failed to connect to josh-proxy")?;
146-
drop(josh_ready);
147-
148-
Ok(Josh(josh))
140+
// Wait until the port is open. We try every 10ms until 1s passed.
141+
for _ in 0..100 {
142+
// This will generally fail immediately when the port is still closed.
143+
let josh_ready = net::TcpStream::connect_timeout(
144+
&net::SocketAddr::from(([127, 0, 0, 1], JOSH_PORT)),
145+
Duration::from_millis(1),
146+
);
147+
if josh_ready.is_ok() {
148+
return Ok(Josh(josh));
149+
}
150+
// Not ready yet.
151+
std::thread::sleep(Duration::from_millis(10));
152+
}
153+
bail!("Even after waiting for 1s, josh-proxy is still not available.")
149154
}
150155

151156
pub fn exec(self) -> Result<()> {

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6696447f784a888446d13bb400a8d507a68331c9
1+
1d8f135b20fac63c493d5963ce02963b46ca0986

src/eval.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -460,11 +460,8 @@ pub fn eval_entry<'tcx>(
460460
ecx.handle_ice();
461461
panic::resume_unwind(panic_payload)
462462
});
463-
let res = match res {
464-
Err(res) => res,
465-
// `Ok` can never happen
466-
Ok(never) => match never {},
467-
};
463+
// `Ok` can never happen.
464+
let Err(res) = res;
468465

469466
// Machine cleanup. Only do this if all threads have terminated; threads that are still running
470467
// might cause Stacked Borrows errors (https://github.com/rust-lang/miri/issues/2396).

tests/pass/async-fn.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ async fn hello_world() {
5959
}
6060

6161
// This example comes from https://github.com/rust-lang/rust/issues/115145
62+
#[allow(unreachable_patterns)]
6263
async fn uninhabited_variant() {
6364
async fn unreachable(_: Never) {}
6465

tests/pass/enums.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ fn discriminant_overflow() {
4343
}
4444
}
4545

46+
#[allow(unreachable_patterns)]
4647
fn more_discriminant_overflow() {
4748
pub enum Infallible {}
4849

tests/pass/tree_borrows/vec_unique.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,20 @@ fn main() {
3030
// whether we got the distance correct:
3131
// If the output shows
3232
//
33-
// |- <XYZ: uniq>
34-
// '- <XYZ: uniq>
33+
// ├─ <TAG=base.as_ptr()>
34+
// └─ <TAG=base.as_ptr()>
3535
//
3636
// then `nth_parent` is not big enough.
3737
// The correct value for `nth_parent` should be the minimum
3838
// integer for which the output shows
3939
//
40-
// '- <XYZ: uniq, uniq>
40+
// └─ <TAG=base.as_ptr(), base.as_ptr(), ...>
4141
// )
4242
//
4343
// Ultimately we want pointers obtained through independent
4444
// calls of `as_ptr` to be able to alias, which will probably involve
4545
// a new permission that allows aliasing when there is no protector.
46-
let nth_parent = if cfg!(uniq) { 2 } else { 0 };
46+
let nth_parent = if cfg!(uniq) { 9 } else { 0 };
4747
name!(base.as_ptr()=>nth_parent);
4848
name!(base.as_ptr()=>nth_parent);
4949

0 commit comments

Comments
 (0)