diff --git a/rust-version b/rust-version index e1047d816e..644ec5ed80 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -f577b0ef6e637ab7a6095cdfe0b51fa3faf97050 +7afe6d9d1f48b998cc88fe6f01ba0082788ba4b9 diff --git a/src/shims/foreign_items.rs b/src/shims/foreign_items.rs index 52e04aea30..316cc686ad 100644 --- a/src/shims/foreign_items.rs +++ b/src/shims/foreign_items.rs @@ -154,8 +154,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx "exit" | "ExitProcess" => { // it's really u32 for ExitProcess, but we have to put it into the `Exit` variant anyway let code = this.read_scalar(args[0])?.to_i32()?; - let ti = Box::new(TerminationInfo::Exit(code.into())); - return Err(InterpError::MachineStop(ti).into()); + throw_machine_stop!(TerminationInfo::Exit(code.into())); } _ => { if let Some(p) = ret { diff --git a/src/shims/intrinsics.rs b/src/shims/intrinsics.rs index 0cb51d5931..57b77a8b74 100644 --- a/src/shims/intrinsics.rs +++ b/src/shims/intrinsics.rs @@ -34,8 +34,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx // Handle diverging intrinsics. let (dest, ret) = match intrinsic_name { "abort" => { - let ti = Box::new(TerminationInfo::Abort); - return Err(InterpError::MachineStop(ti).into()); + throw_machine_stop!(TerminationInfo::Abort); } "miri_start_panic" => return this.handle_miri_start_panic(args, unwind), _ => {