diff --git a/rust-version b/rust-version index 69a46de1d45..9e2c1a36bb4 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -3de0106789468b211bcc3a25c09c0cf07119186d +2226c09699a96520238e162777f44504f4a0a1a7 diff --git a/src/fn_call.rs b/src/fn_call.rs index 3e12c1dd1c6..bb6d6aed490 100644 --- a/src/fn_call.rs +++ b/src/fn_call.rs @@ -62,11 +62,11 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a + 'mir>: crate::MiriEvalContextExt<' let this = self.eval_context_mut(); let attrs = this.tcx.get_attrs(def_id); let link_name = match attr::first_attr_value_str_by_name(&attrs, "link_name") { - Some(name) => name.as_str().get(), - None => this.tcx.item_name(def_id).as_str().get(), + Some(name) => name.as_str(), + None => this.tcx.item_name(def_id).as_str(), }; // Strip linker suffixes (seen on 32-bit macOS). - let link_name = link_name.trim_end_matches("$UNIX2003"); + let link_name = link_name.get().trim_end_matches("$UNIX2003"); let tcx = &{this.tcx.tcx}; // First: functions that could diverge. diff --git a/src/intrinsic.rs b/src/intrinsic.rs index 5b0f0e99ad8..bb156c95dfe 100644 --- a/src/intrinsic.rs +++ b/src/intrinsic.rs @@ -27,8 +27,8 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a+'mir>: crate::MiriEvalContextExt<'a, // (as opposed to through a place), we have to remember to erase any tag // that might still hang around! - let intrinsic_name = this.tcx.item_name(instance.def_id()).as_str().get(); - match intrinsic_name { + let intrinsic_name = this.tcx.item_name(instance.def_id()).as_str(); + match intrinsic_name.get() { "arith_offset" => { let offset = this.read_scalar(args[1])?.to_isize(this)?; let ptr = this.read_scalar(args[0])?.not_undef()?; @@ -187,7 +187,7 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a+'mir>: crate::MiriEvalContextExt<'a, "sinf32" | "fabsf32" | "cosf32" | "sqrtf32" | "expf32" | "exp2f32" | "logf32" | "log10f32" | "log2f32" | "floorf32" | "ceilf32" | "truncf32" => { let f = this.read_scalar(args[0])?.to_f32()?; - let f = match intrinsic_name { + let f = match intrinsic_name.get() { "sinf32" => f.sin(), "fabsf32" => f.abs(), "cosf32" => f.cos(), @@ -208,7 +208,7 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a+'mir>: crate::MiriEvalContextExt<'a, "sinf64" | "fabsf64" | "cosf64" | "sqrtf64" | "expf64" | "exp2f64" | "logf64" | "log10f64" | "log2f64" | "floorf64" | "ceilf64" | "truncf64" => { let f = this.read_scalar(args[0])?.to_f64()?; - let f = match intrinsic_name { + let f = match intrinsic_name.get() { "sinf64" => f.sin(), "fabsf64" => f.abs(), "cosf64" => f.cos(), @@ -229,7 +229,7 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a+'mir>: crate::MiriEvalContextExt<'a, "fadd_fast" | "fsub_fast" | "fmul_fast" | "fdiv_fast" | "frem_fast" => { let a = this.read_immediate(args[0])?; let b = this.read_immediate(args[1])?; - let op = match intrinsic_name { + let op = match intrinsic_name.get() { "fadd_fast" => mir::BinOp::Add, "fsub_fast" => mir::BinOp::Sub, "fmul_fast" => mir::BinOp::Mul, diff --git a/src/lib.rs b/src/lib.rs index ba9b69703a4..541986de551 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -470,11 +470,11 @@ impl<'a, 'mir, 'tcx> Machine<'a, 'mir, 'tcx> for Evaluator<'tcx> { ) -> EvalResult<'tcx, Cow<'tcx, Allocation<Borrow, Self::AllocExtra>>> { let attrs = tcx.get_attrs(def_id); let link_name = match attr::first_attr_value_str_by_name(&attrs, "link_name") { - Some(name) => name.as_str().get(), - None => tcx.item_name(def_id).as_str().get(), + Some(name) => name.as_str(), + None => tcx.item_name(def_id).as_str(), }; - let alloc = match link_name { + let alloc = match link_name.get() { "__cxa_thread_atexit_impl" => { // This should be all-zero, pointer-sized. let size = tcx.data_layout.pointer_size;