diff --git a/src/client/objects.rs b/src/client/objects.rs index 749efb2d..5fade5f4 100644 --- a/src/client/objects.rs +++ b/src/client/objects.rs @@ -43,7 +43,7 @@ use { ZwpTabletToolV2Id, }, }, - std::{cell::RefCell, mem, rc::Rc}, + std::{cell::RefCell, rc::Rc}, }; pub struct Objects { @@ -81,7 +81,7 @@ pub struct Objects { } pub const MIN_SERVER_ID: u32 = 0xff000000; -const SEG_SIZE: usize = 8 * mem::size_of::(); +const SEG_SIZE: usize = usize::BITS as usize; impl Objects { pub fn new() -> Self { diff --git a/src/dbus/parser.rs b/src/dbus/parser.rs index 535d9da7..a50df86a 100644 --- a/src/dbus/parser.rs +++ b/src/dbus/parser.rs @@ -4,7 +4,7 @@ use { DbusError, DbusType, DynamicType, Parser, }, bstr::ByteSlice, - std::{borrow::Cow, mem, rc::Rc}, + std::{borrow::Cow, rc::Rc}, uapi::{OwnedFd, Pod}, }; @@ -43,7 +43,7 @@ impl<'a> Parser<'a> { self.align_to(T::ALIGNMENT)?; match uapi::pod_read_init(&self.buf[self.pos..]) { Ok(v) => { - self.pos += mem::size_of::(); + self.pos += size_of::(); Ok(v) } _ => Err(DbusError::UnexpectedEof), @@ -95,13 +95,13 @@ impl<'a> Parser<'a> { return Err(DbusError::UnexpectedEof); } if T::IS_POD { - if len % mem::size_of::() != 0 { + if len % size_of::() != 0 { return Err(DbusError::PodArrayLength); } let slice = unsafe { std::slice::from_raw_parts( self.buf[self.pos..].as_ptr() as *const T, - len / mem::size_of::(), + len / size_of::(), ) }; self.pos += len; diff --git a/src/forker/io.rs b/src/forker/io.rs index 9ccde81c..37f40cd5 100644 --- a/src/forker/io.rs +++ b/src/forker/io.rs @@ -80,8 +80,8 @@ impl IoOut { bincode_ops() .serialize_into(&mut self.scratch, &msg) .map_err(ForkerError::EncodeFailed)?; - let len = self.scratch.len() - mem::size_of_val(&0usize); - self.scratch[..mem::size_of_val(&len)].copy_from_slice(uapi::as_bytes(&len)); + let len = self.scratch.len() - size_of_val(&0usize); + self.scratch[..size_of_val(&len)].copy_from_slice(uapi::as_bytes(&len)); let mut buf = self.scratch.borrow(); match self .outgoing diff --git a/src/gfx_apis/vulkan/pipeline.rs b/src/gfx_apis/vulkan/pipeline.rs index 3d495f39..f412fca8 100644 --- a/src/gfx_apis/vulkan/pipeline.rs +++ b/src/gfx_apis/vulkan/pipeline.rs @@ -20,7 +20,7 @@ use { PrimitiveTopology, PushConstantRange, SampleCountFlags, ShaderStageFlags, }, }, - std::{mem, rc::Rc, slice}, + std::{rc::Rc, slice}, }; pub(super) struct VulkanPipeline { @@ -45,7 +45,7 @@ impl VulkanDevice { &self, info: PipelineCreateInfo, ) -> Result, VulkanError> { - self.create_pipeline_(info, mem::size_of::() as _, mem::size_of::() as _) + self.create_pipeline_(info, size_of::() as _, size_of::() as _) } fn create_pipeline_( diff --git a/src/gfx_apis/vulkan/renderer.rs b/src/gfx_apis/vulkan/renderer.rs index 83dff5da..84e105cf 100644 --- a/src/gfx_apis/vulkan/renderer.rs +++ b/src/gfx_apis/vulkan/renderer.rs @@ -590,7 +590,7 @@ impl VulkanRenderer { buf, pipeline.pipeline_layout, ShaderStageFlags::FRAGMENT, - mem::size_of_val(&vert) as _, + size_of_val(&vert) as _, uapi::as_bytes(&frag), ); } diff --git a/src/io_uring.rs b/src/io_uring.rs index 28978ed0..1204600e 100644 --- a/src/io_uring.rs +++ b/src/io_uring.rs @@ -36,7 +36,6 @@ use { }, std::{ cell::{Cell, RefCell, UnsafeCell}, - mem::{self}, rc::Rc, sync::atomic::{ AtomicU32, @@ -119,7 +118,7 @@ impl IoUring { Err(e) => return Err(IoUringError::MapSqRing(e)), }; let sqesmap_map = mmap( - params.sq_entries as usize * mem::size_of::(), + params.sq_entries as usize * size_of::(), c::PROT_READ | c::PROT_WRITE, c::MAP_SHARED | c::MAP_POPULATE, fd.raw(), @@ -130,8 +129,7 @@ impl IoUring { Err(e) => return Err(IoUringError::MapSqEntries(e)), }; let cqmap_map = mmap( - params.cq_off.cqes as usize - + params.cq_entries as usize * mem::size_of::(), + params.cq_off.cqes as usize + params.cq_entries as usize * size_of::(), c::PROT_READ | c::PROT_WRITE, c::MAP_SHARED | c::MAP_POPULATE, fd.raw(), diff --git a/src/io_uring/ops/connect.rs b/src/io_uring/ops/connect.rs index a23d460e..1ba13c86 100644 --- a/src/io_uring/ops/connect.rs +++ b/src/io_uring/ops/connect.rs @@ -4,7 +4,7 @@ use { sys::{io_uring_sqe, IORING_OP_CONNECT}, IoUring, IoUringData, IoUringError, IoUringTaskId, Task, TaskResultExt, }, - std::{mem, ptr, rc::Rc}, + std::{ptr, rc::Rc}, uapi::{c, OwnedFd, SockAddr}, }; @@ -20,7 +20,7 @@ impl IoUring { unsafe { ptr::copy_nonoverlapping(t, &mut pw.sockaddr as *mut _ as *mut _, 1); } - pw.addrlen = mem::size_of::() as _; + pw.addrlen = size_of::() as _; pw.data = Some(Data { pr: pr.clone(), _fd: fd.clone(), diff --git a/src/io_uring/ops/sendmsg.rs b/src/io_uring/ops/sendmsg.rs index 67d7b4e8..3ca19ef2 100644 --- a/src/io_uring/ops/sendmsg.rs +++ b/src/io_uring/ops/sendmsg.rs @@ -8,11 +8,7 @@ use { time::Time, utils::{buf::Buf, vec_ext::UninitVecExt}, }, - std::{ - mem::{self, MaybeUninit}, - ptr, - rc::Rc, - }, + std::{mem::MaybeUninit, ptr, rc::Rc}, uapi::{c, OwnedFd}, }; @@ -44,7 +40,7 @@ impl IoUring { let mut fd_ids = self.ring.fd_ids_scratch.borrow_mut(); fd_ids.clear(); fd_ids.extend(st.fds.iter().map(|f| f.raw())); - let space = uapi::cmsg_space(mem::size_of_val(&fd_ids[..])); + let space = uapi::cmsg_space(size_of_val(&fd_ids[..])); st.cmsg.clear(); st.cmsg.reserve(space); st.cmsg.set_len_safe(space); diff --git a/src/leaks.rs b/src/leaks.rs index 6a6f0c57..d6158c4a 100644 --- a/src/leaks.rs +++ b/src/leaks.rs @@ -55,7 +55,7 @@ mod leaks { any, cell::Cell, marker::PhantomData, - mem, ptr, + ptr, }, uapi::c, }; @@ -115,7 +115,7 @@ mod leaks { let slice = unsafe { std::slice::from_raw_parts( lo as *const *mut u8, - (hi - lo) / mem::size_of::(), + (hi - lo) / size_of::(), ) }; for addr in slice { @@ -301,11 +301,11 @@ mod leaks { IN_ALLOCATOR.set(IN_ALLOCATOR.get() + 1); let mut res = vec![]; for allocation in ALLOCATIONS.get().deref().values() { - let num = allocation.len / mem::size_of::(); + let num = allocation.len / size_of::(); let elements = std::slice::from_raw_parts(allocation.addr as *const *mut u8, num); for (offset, pos) in elements.iter().enumerate() { if *pos == addr { - res.push((allocation.clone(), offset * mem::size_of::())); + res.push((allocation.clone(), offset * size_of::())); break; } } diff --git a/src/macros.rs b/src/macros.rs index 3a1a764f..12d82383 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -372,7 +372,7 @@ macro_rules! assert_size_eq { struct AssertEqSize(std::marker::PhantomData, std::marker::PhantomData); impl AssertEqSize { const VAL: usize = { - if std::mem::size_of::() != std::mem::size_of::() { + if size_of::() != size_of::() { panic!("Types have different size"); } 1 @@ -388,7 +388,7 @@ macro_rules! assert_size_le { struct AssertLeSize(std::marker::PhantomData, std::marker::PhantomData); impl AssertLeSize { const VAL: usize = { - if std::mem::size_of::() > std::mem::size_of::() { + if size_of::() > size_of::() { panic!("Left type has size larger than right type"); } 1 @@ -403,7 +403,7 @@ macro_rules! assert_align_eq { struct AssertEqAlign(std::marker::PhantomData, std::marker::PhantomData); impl AssertEqAlign { const VAL: usize = { - if std::mem::align_of::() != std::mem::align_of::() { + if align_of::() != align_of::() { panic!("Types have different alignment"); } 1 diff --git a/src/pipewire/pw_ifs/pw_client_node.rs b/src/pipewire/pw_ifs/pw_client_node.rs index e8413e97..ca5dbedb 100644 --- a/src/pipewire/pw_ifs/pw_client_node.rs +++ b/src/pipewire/pw_ifs/pw_client_node.rs @@ -40,7 +40,6 @@ use { }, std::{ cell::{Cell, RefCell}, - mem, rc::Rc, sync::atomic::Ordering::{Relaxed, Release}, }, @@ -326,13 +325,13 @@ impl PwClientNode { let sm = port.supported_metas.get(); let mut metas = vec![]; if sm.contains(SUPPORTED_META_HEADER) { - metas.push((SPA_META_Header, mem::size_of::())); + metas.push((SPA_META_Header, size_of::())); } if sm.contains(SUPPORTED_META_BUSY) { - metas.push((SPA_META_Busy, mem::size_of::())); + metas.push((SPA_META_Busy, size_of::())); } if sm.contains(SUPPORTED_META_VIDEO_CROP) { - metas.push((SPA_META_VideoCrop, mem::size_of::())); + metas.push((SPA_META_VideoCrop, size_of::())); } let sf = &*port.supported_formats.borrow(); let num_formats = sf.formats.len() as u32; diff --git a/src/pipewire/pw_mem.rs b/src/pipewire/pw_mem.rs index 7954a9ea..c9040868 100644 --- a/src/pipewire/pw_mem.rs +++ b/src/pipewire/pw_mem.rs @@ -6,7 +6,7 @@ use { page_size::page_size, ptr_ext::{MutPtrExt, PtrExt}, }, - std::{marker::PhantomData, mem, ops::Range, rc::Rc}, + std::{marker::PhantomData, ops::Range, rc::Rc}, thiserror::Error, uapi::{c, OwnedFd, Pod}, }; @@ -107,8 +107,8 @@ impl PwMemMap { fn check(&self, offset: usize) { assert!(offset <= self.range.len()); - assert!(mem::size_of::() <= self.range.len() - offset); - assert_eq!((mem::align_of::() - 1) & (self.range.start + offset), 0); + assert!(size_of::() <= self.range.len() - offset); + assert_eq!((align_of::() - 1) & (self.range.start + offset), 0); } pub fn typed(self: &Rc) -> Rc> { diff --git a/src/pipewire/pw_parser.rs b/src/pipewire/pw_parser.rs index f713f03d..1bfbaec6 100644 --- a/src/pipewire/pw_parser.rs +++ b/src/pipewire/pw_parser.rs @@ -12,11 +12,7 @@ use { }, ahash::AHashMap, bstr::{BStr, BString, ByteSlice}, - std::{ - fmt::Debug, - mem::{self, MaybeUninit}, - rc::Rc, - }, + std::{fmt::Debug, mem::MaybeUninit, rc::Rc}, thiserror::Error, uapi::{OwnedFd, Pod}, }; @@ -52,11 +48,11 @@ impl<'a> PwParser<'a> { } fn read_raw(&mut self, offset: usize) -> Result { - if self.pos + offset + mem::size_of::() <= self.data.len() { + if self.pos + offset + size_of::() <= self.data.len() { unsafe { let mut res = MaybeUninit::uninit(); let src = self.data[self.pos + offset..].as_ptr(); - std::ptr::copy_nonoverlapping(src, res.as_mut_ptr() as _, mem::size_of::()); + std::ptr::copy_nonoverlapping(src, res.as_mut_ptr() as _, size_of::()); Ok(res.assume_init()) } } else { diff --git a/src/utils/bitfield.rs b/src/utils/bitfield.rs index cdb58aa2..0e80e11e 100644 --- a/src/utils/bitfield.rs +++ b/src/utils/bitfield.rs @@ -1,8 +1,6 @@ #![allow(dead_code)] -use std::mem; - -const SEG_SIZE: usize = 8 * mem::size_of::(); +const SEG_SIZE: usize = usize::BITS as usize; #[derive(Default)] pub struct Bitfield { diff --git a/src/utils/buf.rs b/src/utils/buf.rs index 9a694be5..293f0f5c 100644 --- a/src/utils/buf.rs +++ b/src/utils/buf.rs @@ -313,7 +313,7 @@ pub struct TypedBuf { impl TypedBuf { pub fn new() -> Self { Self { - buf: Buf::new(mem::size_of::()), + buf: Buf::new(size_of::()), _phantom: Default::default(), } } diff --git a/src/utils/buffd/formatter.rs b/src/utils/buffd/formatter.rs index 277f895c..5dde8f86 100644 --- a/src/utils/buffd/formatter.rs +++ b/src/utils/buffd/formatter.rs @@ -101,7 +101,7 @@ impl<'a> MsgFormatter<'a> { } pub fn binary(&mut self, t: &T) -> &mut Self { - self.uint(mem::size_of_val(t) as u32); + self.uint(size_of_val(t) as u32); self.write(uapi::as_bytes(t)); let none = [0; 4]; self.write(&none[..self.meta.write_pos.wrapping_neg() & 3]); diff --git a/src/utils/buffd/parser.rs b/src/utils/buffd/parser.rs index 9c98123d..4c638e75 100644 --- a/src/utils/buffd/parser.rs +++ b/src/utils/buffd/parser.rs @@ -1,7 +1,7 @@ use { crate::{fixed::Fixed, globals::GlobalName, object::ObjectId, utils::buffd::BufFdIn}, bstr::{BStr, ByteSlice}, - std::{mem, ptr, rc::Rc}, + std::{ptr, rc::Rc}, thiserror::Error, uapi::{OwnedFd, Pod}, }; @@ -122,30 +122,30 @@ impl<'a, 'b> MsgParser<'a, 'b> { pub fn binary(&mut self) -> Result { let array = self.array()?; - if array.len() < mem::size_of::() { + if array.len() < size_of::() { return Err(MsgParserError::UnexpectedEof); } - if array.len() > mem::size_of::() { + if array.len() > size_of::() { return Err(MsgParserError::BinaryArrayTooLarge); } unsafe { Ok(ptr::read_unaligned(array.as_ptr() as _)) } } pub fn binary_array(&mut self) -> Result<&'b [T], MsgParserError> { - if std::mem::align_of::() > 4 { + if align_of::() > 4 { panic!("Alignment of binary array element is too large"); }; - if std::mem::size_of::() == 0 { + if size_of::() == 0 { panic!("Size of binary array element is 0"); }; let array = self.array()?; - if array.len() % mem::size_of::() != 0 { + if array.len() % size_of::() != 0 { return Err(MsgParserError::BinaryArraySize); } unsafe { Ok(std::slice::from_raw_parts( array.as_ptr() as _, - array.len() / mem::size_of::(), + array.len() / size_of::(), )) } } diff --git a/src/utils/clone3.rs b/src/utils/clone3.rs index 0d0c517b..a474b36f 100644 --- a/src/utils/clone3.rs +++ b/src/utils/clone3.rs @@ -1,6 +1,5 @@ use { crate::forker::ForkerError, - std::mem, uapi::{c, OwnedFd}, }; @@ -41,7 +40,7 @@ pub fn fork_with_pidfd(pidfd_for_child: bool) -> Result { let pid = c::syscall( c::SYS_clone3, &mut args as *const _ as usize, - mem::size_of::(), + size_of::(), ); if let Err(e) = uapi::map_err!(pid) { return Err(ForkerError::Fork(e.into())); diff --git a/src/video/drm.rs b/src/video/drm.rs index a3293a7b..6cd82231 100644 --- a/src/video/drm.rs +++ b/src/video/drm.rs @@ -457,26 +457,26 @@ impl DrmMaster { let mut t = MaybeUninit::::uninit(); match mode_getprobblob(self.raw(), blob.0, &mut t) { Err(e) => Err(DrmError::GetPropBlob(e)), - Ok(n) if n != mem::size_of::() => Err(DrmError::InvalidProbSize), + Ok(n) if n != size_of::() => Err(DrmError::InvalidProbSize), _ => unsafe { Ok(t.assume_init()) }, } } pub fn getblob_vec(&self, blob: DrmBlob) -> Result, DrmError> { - assert_ne!(mem::size_of::(), 0); + assert_ne!(size_of::(), 0); let mut vec = vec![]; loop { let (_, bytes) = vec.split_at_spare_mut_bytes_ext(); match mode_getprobblob(self.raw(), blob.0, bytes) { Err(e) => return Err(DrmError::GetPropBlob(e)), - Ok(n) if n % mem::size_of::() != 0 => return Err(DrmError::UnalignedPropSize), + Ok(n) if n % size_of::() != 0 => return Err(DrmError::UnalignedPropSize), Ok(n) if n <= bytes.len() => { unsafe { - vec.set_len(n / mem::size_of::()); + vec.set_len(n / size_of::()); } return Ok(vec); } - Ok(n) => vec.reserve_exact(n / mem::size_of::()), + Ok(n) => vec.reserve_exact(n / size_of::()), } } } @@ -499,10 +499,10 @@ impl DrmMaster { } let formats_start = header.formats_offset as usize; let formats_end = formats_start - .wrapping_add((header.count_formats as usize).wrapping_mul(mem::size_of::())); + .wrapping_add((header.count_formats as usize).wrapping_mul(size_of::())); let modifiers_start = header.modifiers_offset as usize; let modifiers_end = modifiers_start.wrapping_add( - (header.count_modifiers as usize).wrapping_mul(mem::size_of::()), + (header.count_modifiers as usize).wrapping_mul(size_of::()), ); if blob.len() < formats_end || formats_end < formats_start { log::error!("Formats of IN_FORMATS blob don't fit in the blob"); diff --git a/src/video/drm/sys.rs b/src/video/drm/sys.rs index 65bb050e..ed6dcce0 100644 --- a/src/video/drm/sys.rs +++ b/src/video/drm/sys.rs @@ -16,7 +16,6 @@ use { std::{ ffi::CString, io::{BufRead, BufReader}, - mem, }, uapi::{c, pod_zeroed, OwnedFd, Pod, Ustring}, }; @@ -921,7 +920,7 @@ const DRM_IOCTL_MODE_CREATEPROPBLOB: u64 = drm_iowr::(0xbd pub fn mode_create_blob(fd: c::c_int, t: &T) -> Result { let mut res = drm_mode_create_blob { data: t as *const T as _, - length: mem::size_of_val(t) as _, + length: size_of_val(t) as _, blob_id: 0, }; @@ -1096,7 +1095,7 @@ pub fn mode_getprobblob( ) -> Result { let mut res = drm_mode_get_blob { blob_id, - length: mem::size_of_val(t) as _, + length: size_of_val(t) as _, data: t as *const T as *const u8 as _, }; unsafe { diff --git a/src/xcon.rs b/src/xcon.rs index 9b1e340f..3ec7765b 100644 --- a/src/xcon.rs +++ b/src/xcon.rs @@ -597,7 +597,7 @@ impl Xcon { long_offset: 0, long_length: 128, }; - let format = mem::size_of::() as u8 * 8; + let format = size_of::() as u8 * 8; loop { let res = self.call(&gp).await?; let res = res.get(); @@ -611,10 +611,10 @@ impl Xcon { if res.format != format { return Err(XconError::InvalidPropertyFormat(format, res.format)); } - if res.data.len() % mem::size_of::() != 0 { + if res.data.len() % size_of::() != 0 { return Err(XconError::IrregularPropertyLength); } - let len = res.data.len() / mem::size_of::(); + let len = res.data.len() / size_of::(); buf.reserve(len); let (_, uninit) = buf.split_at_spare_mut_bytes_ext(); uninit[..res.data.len()].copy_from_slice(uapi::as_maybe_uninit_bytes(res.data)); diff --git a/src/xcon/parser.rs b/src/xcon/parser.rs index 31556c0b..d3845dac 100644 --- a/src/xcon/parser.rs +++ b/src/xcon/parser.rs @@ -4,7 +4,7 @@ use { xcon::{wire_type::Message, XconError}, }, bstr::{BStr, ByteSlice}, - std::{borrow::Cow, mem, rc::Rc}, + std::{borrow::Cow, rc::Rc}, uapi::{OwnedFd, Pod}, }; @@ -65,7 +65,7 @@ impl<'a> Parser<'a> { pub fn read_pod(&mut self) -> Result { match uapi::pod_read_init(&self.buf[self.pos..]) { Ok(v) => { - self.pos += mem::size_of::(); + self.pos += size_of::(); Ok(v) } _ => Err(XconError::UnexpectedEof), @@ -78,13 +78,13 @@ impl<'a> Parser<'a> { ) -> Result<&'a [T], XconError> { let n = match n { Some(n) => n, - _ => self.rem() / mem::size_of::(), + _ => self.rem() / size_of::(), }; - let len = mem::size_of::() * n; + let len = size_of::() * n; if len > self.rem() { return Err(XconError::UnexpectedEof); } - if self.buf[self.pos..].as_ptr() as usize & (mem::align_of::() - 1) != 0 { + if self.buf[self.pos..].as_ptr() as usize & (align_of::() - 1) != 0 { return Err(XconError::UnalignedSlice); } let res =