From 3854ecdad6b25d7ef0552e282260415e82955d6e Mon Sep 17 00:00:00 2001 From: Jef Date: Thu, 25 Oct 2018 14:17:25 +0200 Subject: [PATCH] Remove some unsafety (#131) * Remove unsafety * Remove transmutes and pointer casts --- src/memory.rs | 4 ++-- src/value.rs | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/memory.rs b/src/memory.rs index 4b859d6..730139c 100644 --- a/src/memory.rs +++ b/src/memory.rs @@ -316,7 +316,7 @@ impl MemoryInstance { unsafe { ::std::ptr::copy( buffer[read_region.range()].as_ptr(), - buffer[write_region.range()].as_ptr() as *mut _, + buffer[write_region.range()].as_mut_ptr(), len, )} @@ -345,7 +345,7 @@ impl MemoryInstance { unsafe { ::std::ptr::copy_nonoverlapping( buffer[read_region.range()].as_ptr(), - buffer[write_region.range()].as_ptr() as *mut _, + buffer[write_region.range()].as_mut_ptr(), len, )} diff --git a/src/value.rs b/src/value.rs index 9be2d41..88b424d 100644 --- a/src/value.rs +++ b/src/value.rs @@ -1,7 +1,6 @@ use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use nan_preserving_float::{F32, F64}; use std::io; -use std::mem::transmute; use std::{f32, i32, i64, u32, u64}; use TrapKind; @@ -547,11 +546,11 @@ impl TransmuteInto for i64 { } impl TransmuteInto for u32 { - fn transmute_into(self) -> i32 { unsafe { transmute(self) } } + fn transmute_into(self) -> i32 { self as _ } } impl TransmuteInto for u64 { - fn transmute_into(self) -> i64 { unsafe { transmute(self) } } + fn transmute_into(self) -> i64 { self as _ } } impl LittleEndianConvert for i8 {