diff --git a/aya-log-common/src/lib.rs b/aya-log-common/src/lib.rs index 472090ee..24f41610 100644 --- a/aya-log-common/src/lib.rs +++ b/aya-log-common/src/lib.rs @@ -217,7 +217,7 @@ impl WriteToBuf for [u16; 8] { // compile-time constant. #[inline(never)] fn write(self, buf: &mut [u8]) -> Option { - let bytes = unsafe { core::mem::transmute::<_, [u8; 16]>(self) }; + let bytes = unsafe { core::mem::transmute::<[u16; 8], [u8; 16]>(self) }; write(Argument::ArrU16Len8.into(), &bytes, buf) } } diff --git a/aya/src/maps/mod.rs b/aya/src/maps/mod.rs index 192c988b..7c1d2a84 100644 --- a/aya/src/maps/mod.rs +++ b/aya/src/maps/mod.rs @@ -1025,7 +1025,7 @@ mod tests { use std::os::fd::AsRawFd as _; use assert_matches::assert_matches; - use libc::EFAULT; + use libc::{c_char, EFAULT}; use super::*; use crate::{ @@ -1126,8 +1126,9 @@ mod tests { mem::size_of::() as u32 ); let map_info = unsafe { &mut *(attr.info.info as *mut bpf_map_info) }; - map_info.name[..TEST_NAME.len()] - .copy_from_slice(unsafe { mem::transmute(TEST_NAME) }); + map_info.name[..TEST_NAME.len()].copy_from_slice(unsafe { + mem::transmute::<&[u8], &[c_char]>(TEST_NAME.as_bytes()) + }); Ok(0) } _ => Err((-1, io::Error::from_raw_os_error(EFAULT))),