]> git.lizzy.rs Git - rust.git/blobdiff - src/shims/intrinsics/mod.rs
pass clippy::cast_possible_truncation
[rust.git] / src / shims / intrinsics / mod.rs
index 9ffa40f3335353d06dfdc9e5138adaa598dbc090..4c2d08ffceabce8d6f29b88958a4fa2652ef41ed 100644 (file)
@@ -20,8 +20,8 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
     fn call_intrinsic(
         &mut self,
         instance: ty::Instance<'tcx>,
-        args: &[OpTy<'tcx, Tag>],
-        dest: &PlaceTy<'tcx, Tag>,
+        args: &[OpTy<'tcx, Provenance>],
+        dest: &PlaceTy<'tcx, Provenance>,
         ret: Option<mir::BasicBlock>,
         _unwind: StackPopUnwind,
     ) -> InterpResult<'tcx> {
@@ -58,8 +58,8 @@ fn call_intrinsic(
     fn emulate_intrinsic_by_name(
         &mut self,
         intrinsic_name: &str,
-        args: &[OpTy<'tcx, Tag>],
-        dest: &PlaceTy<'tcx, Tag>,
+        args: &[OpTy<'tcx, Provenance>],
+        dest: &PlaceTy<'tcx, Provenance>,
     ) -> InterpResult<'tcx> {
         let this = self.eval_context_mut();
 
@@ -117,10 +117,7 @@ fn emulate_intrinsic_by_name(
                 let byte_count = ty_layout.size.checked_mul(count, this).ok_or_else(|| {
                     err_ub_format!("overflow computing total size of `{intrinsic_name}`")
                 })?;
-                this.write_bytes_ptr(
-                    ptr,
-                    iter::repeat(val_byte).take(byte_count.bytes() as usize),
-                )?;
+                this.write_bytes_ptr(ptr, iter::repeat(val_byte).take(byte_count.bytes_usize()))?;
             }
 
             // Floating-point operations
@@ -224,7 +221,7 @@ fn emulate_intrinsic_by_name(
                     "frem_fast" => mir::BinOp::Rem,
                     _ => bug!(),
                 };
-                let float_finite = |x: ImmTy<'tcx, _>| -> InterpResult<'tcx, bool> {
+                let float_finite = |x: &ImmTy<'tcx, _>| -> InterpResult<'tcx, bool> {
                     Ok(match x.layout.ty.kind() {
                         ty::Float(FloatTy::F32) => x.to_scalar()?.to_f32()?.is_finite(),
                         ty::Float(FloatTy::F64) => x.to_scalar()?.to_f64()?.is_finite(),
@@ -234,7 +231,7 @@ fn emulate_intrinsic_by_name(
                         ),
                     })
                 };
-                match (float_finite(a)?, float_finite(b)?) {
+                match (float_finite(&a)?, float_finite(&b)?) {
                     (false, false) => throw_ub_format!(
                         "`{intrinsic_name}` intrinsic called with non-finite value as both parameters",
                     ),
@@ -375,9 +372,9 @@ fn float_to_int_unchecked<F>(
         &self,
         f: F,
         dest_ty: ty::Ty<'tcx>,
-    ) -> InterpResult<'tcx, Scalar<Tag>>
+    ) -> InterpResult<'tcx, Scalar<Provenance>>
     where
-        F: Float + Into<Scalar<Tag>>,
+        F: Float + Into<Scalar<Provenance>>,
     {
         let this = self.eval_context_ref();