use rustc_middle::ty::{self, Instance};
use rustc_span::{BytePos, Loc, Symbol};
use rustc_target::{abi::Size, spec::abi::Abi};
-use std::convert::TryInto as _;
impl<'mir, 'tcx: 'mir> EvalContextExt<'mir, 'tcx> for crate::MiriEvalContext<'mir, 'tcx> {}
pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx> {
dest: &PlaceTy<'tcx, Tag>,
) -> InterpResult<'tcx> {
let this = self.eval_context_mut();
- let &[ref flags] = this.check_shim(abi, Abi::Rust, link_name, args)?;
+ let [flags] = this.check_shim(abi, Abi::Rust, link_name, args)?;
let flags = this.read_scalar(flags)?.to_u64()?;
if flags != 0 {
// storage for pointers is allocated by miri
// deallocating the slice is undefined behavior with a custom global allocator
0 => {
- let &[_flags] = this.check_shim(abi, Abi::Rust, link_name, args)?;
+ let [_flags] = this.check_shim(abi, Abi::Rust, link_name, args)?;
let alloc = this.allocate(array_layout, MiriMemoryKind::Rust.into())?;
}
// storage for pointers is allocated by the caller
1 => {
- let &[_flags, ref buf] = this.check_shim(abi, Abi::Rust, link_name, args)?;
+ let [_flags, buf] = this.check_shim(abi, Abi::Rust, link_name, args)?;
let buf_place = this.deref_operand(buf)?;
let ptr = this.read_pointer(ptr)?;
// Take apart the pointer, we need its pieces.
- let (alloc_id, offset, ptr) = this.ptr_get_alloc_id(ptr)?;
+ let (alloc_id, offset, _tag) = this.ptr_get_alloc_id(ptr)?;
let fn_instance =
if let Some(GlobalAlloc::Function(instance)) = this.tcx.get_global_alloc(alloc_id) {
dest: &PlaceTy<'tcx, Tag>,
) -> InterpResult<'tcx> {
let this = self.eval_context_mut();
- let &[ref ptr, ref flags] = this.check_shim(abi, Abi::Rust, link_name, args)?;
+ let [ptr, flags] = this.check_shim(abi, Abi::Rust, link_name, args)?;
let flags = this.read_scalar(flags)?.to_u64()?;
) -> InterpResult<'tcx> {
let this = self.eval_context_mut();
- let &[ref ptr, ref flags, ref name_ptr, ref filename_ptr] =
+ let [ptr, flags, name_ptr, filename_ptr] =
this.check_shim(abi, Abi::Rust, link_name, args)?;
let flags = this.read_scalar(flags)?.to_u64()?;