From: Joshua Simmons Date: Mon, 17 Oct 2022 06:47:12 +0000 (+0200) Subject: Fix clippy lints X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=e295063655c3605aa5fe0ec93bac5389a993cedb;p=josh%2Fnarcissus Fix clippy lints --- diff --git a/narcissus-core/src/manual_arc.rs b/narcissus-core/src/manual_arc.rs index 3daa72b..1ab61b4 100644 --- a/narcissus-core/src/manual_arc.rs +++ b/narcissus-core/src/manual_arc.rs @@ -129,10 +129,8 @@ impl Clone for ManualArc { impl Drop for ManualArc { fn drop(&mut self) { - if self.ptr.is_some() { - if !std::thread::panicking() { - panic!("must call `ManualArc::release` before value is dropped"); - } + if self.ptr.is_some() && !std::thread::panicking() { + panic!("must call `ManualArc::release` before value is dropped"); } } } diff --git a/narcissus-core/src/pool.rs b/narcissus-core/src/pool.rs index b04381f..a1b86be 100644 --- a/narcissus-core/src/pool.rs +++ b/narcissus-core/src/pool.rs @@ -244,7 +244,7 @@ impl FreeSlots { // This is slightly wrong, but our freelist doesn't need correct ordering on resize and this // avoids moving the values around. - if self.len() > 0 { + if !self.is_empty() { debug_assert!(self.is_full()); self.tail = 0; self.head = self.cap; diff --git a/narcissus-core/src/virtual_mem.rs b/narcissus-core/src/virtual_mem.rs index 3ad3b3a..ac72a46 100644 --- a/narcissus-core/src/virtual_mem.rs +++ b/narcissus-core/src/virtual_mem.rs @@ -1,5 +1,18 @@ use crate::libc; +#[derive(Clone, Copy, Debug)] +pub enum MapError { + MapFailed, +} + +impl std::fmt::Display for MapError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self) + } +} + +impl std::error::Error for MapError {} + /// Reserve a virtual memory range. /// /// Size will be rounded up to align with the system's page size. @@ -7,7 +20,7 @@ use crate::libc; /// The range is valid but inaccessible before calling `virtual_commit`. #[cold] #[inline(never)] -pub fn virtual_reserve(size: usize) -> Result<*mut std::ffi::c_void, ()> { +pub fn virtual_reserve(size: usize) -> Result<*mut std::ffi::c_void, MapError> { let ptr = unsafe { libc::mmap( std::ptr::null_mut(), @@ -20,7 +33,7 @@ pub fn virtual_reserve(size: usize) -> Result<*mut std::ffi::c_void, ()> { }; if ptr == libc::MAP_FAILED || ptr.is_null() { - Err(()) + Err(MapError::MapFailed) } else { Ok(ptr) } @@ -55,10 +68,10 @@ pub unsafe fn virtual_commit(ptr: *mut std::ffi::c_void, size: usize) { /// - `size` must be within range of that reservation. #[cold] #[inline(never)] -pub unsafe fn virtual_free(ptr: *mut std::ffi::c_void, size: usize) -> Result<(), ()> { +pub unsafe fn virtual_free(ptr: *mut std::ffi::c_void, size: usize) -> Result<(), MapError> { let result = libc::munmap(ptr, size); if result != 0 { - Err(()) + Err(MapError::MapFailed) } else { Ok(()) }