diff --git a/rust-version b/rust-version index 8e33b80ff68..d8673b92116 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -a1894e4afe1a39f718cc27232a5a2f0d02b501f6 +7bdb5dee7bac15458b10b148e9e24968e633053e diff --git a/src/shims/intrinsics.rs b/src/shims/intrinsics.rs index 4d8801f1788..6051ad482e5 100644 --- a/src/shims/intrinsics.rs +++ b/src/shims/intrinsics.rs @@ -8,7 +8,6 @@ use rustc_middle::{mir, ty}; use rustc_middle::ty::layout::IntegerExt; use rustc_apfloat::{Float, Round}; use rustc_target::abi::{Align, Integer, LayoutOf}; -use rustc_span::symbol::sym; use crate::*; use helpers::check_arg_count; @@ -23,19 +22,13 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx _unwind: Option, ) -> InterpResult<'tcx> { let this = self.eval_context_mut(); - let intrinsic_name = this.tcx.item_name(instance.def_id()); - // We want to overwrite some of the intrinsic implementations that CTFE uses. - let prefer_miri_intrinsic = match intrinsic_name { - sym::ptr_guaranteed_eq | sym::ptr_guaranteed_ne => true, - _ => false, - }; - if !prefer_miri_intrinsic && this.emulate_intrinsic(instance, args, ret)? { + if this.emulate_intrinsic(instance, args, ret)? { return Ok(()); } // All supported intrinsics have a return place. - let intrinsic_name = &*intrinsic_name.as_str(); + let intrinsic_name = &*this.tcx.item_name(instance.def_id()).as_str(); let (dest, ret) = match ret { None => throw_unsup_format!("unimplemented (diverging) intrinsic: {}", intrinsic_name), Some(p) => p,