From a5b0fc560c747247f82f57498a5cf284fd38d235 Mon Sep 17 00:00:00 2001 From: Erik Grinaker Date: Mon, 30 Jun 2025 12:36:20 +0200 Subject: [PATCH] Fix/allow remaining clippy lints --- libs/neon-shmem/src/hash.rs | 1 + libs/neonart/src/algorithm.rs | 4 ++++ libs/neonart/src/algorithm/node_ptr.rs | 1 + libs/neonart/src/allocator/slab.rs | 1 + pgxn/neon/communicator/src/worker_process/main_loop.rs | 2 +- 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/neon-shmem/src/hash.rs b/libs/neon-shmem/src/hash.rs index b00c8a206c..0fdb5165c9 100644 --- a/libs/neon-shmem/src/hash.rs +++ b/libs/neon-shmem/src/hash.rs @@ -321,6 +321,7 @@ where *item = core::INVALID_POS; } + #[allow(clippy::needless_range_loop)] for i in 0..old_num_buckets as usize { if buckets[i].inner.is_none() { continue; diff --git a/libs/neonart/src/algorithm.rs b/libs/neonart/src/algorithm.rs index 720604b1b3..f454282a20 100644 --- a/libs/neonart/src/algorithm.rs +++ b/libs/neonart/src/algorithm.rs @@ -115,6 +115,7 @@ where // Error means you must retry. // // This corresponds to the 'lookupOpt' function in the paper +#[allow(clippy::only_used_in_recursion)] fn lookup_recurse<'e, V: Value>( key: &[u8], node: NodeRef<'e, V>, @@ -155,6 +156,7 @@ fn lookup_recurse<'e, V: Value>( } } +#[allow(clippy::only_used_in_recursion)] fn next_recurse<'e, V: Value>( min_key: &[u8], path: &mut Vec, @@ -213,6 +215,7 @@ fn next_recurse<'e, V: Value>( } // This corresponds to the 'insertOpt' function in the paper +#[allow(clippy::only_used_in_recursion)] #[allow(clippy::too_many_arguments)] pub(crate) fn update_recurse<'e, K: Key, V: Value, A: ArtAllocator, F>( key: &[u8], @@ -369,6 +372,7 @@ pub(crate) fn dump_tree( } // TODO: return an Err if writeln!() returns error, instead of unwrapping +#[allow(clippy::only_used_in_recursion)] fn dump_recurse<'e, V: Value + std::fmt::Debug>( path: &[PathElement], node: NodeRef<'e, V>, diff --git a/libs/neonart/src/algorithm/node_ptr.rs b/libs/neonart/src/algorithm/node_ptr.rs index a1b5a788de..deb5037f4f 100644 --- a/libs/neonart/src/algorithm/node_ptr.rs +++ b/libs/neonart/src/algorithm/node_ptr.rs @@ -45,6 +45,7 @@ impl std::fmt::Debug for NodePtr { impl Copy for NodePtr {} impl Clone for NodePtr { + #[allow(clippy::non_canonical_clone_impl)] fn clone(&self) -> NodePtr { NodePtr { ptr: self.ptr, diff --git a/libs/neonart/src/allocator/slab.rs b/libs/neonart/src/allocator/slab.rs index d66e52d879..5471d24118 100644 --- a/libs/neonart/src/allocator/slab.rs +++ b/libs/neonart/src/allocator/slab.rs @@ -370,6 +370,7 @@ mod tests { for i in 0..11 { all.push(slab.alloc(i)); } + #[allow(clippy::needless_range_loop)] for i in 0..11 { assert!(unsafe { (*all[i]).val == i }); } diff --git a/pgxn/neon/communicator/src/worker_process/main_loop.rs b/pgxn/neon/communicator/src/worker_process/main_loop.rs index 0f6e410d9e..e0638dfc1f 100644 --- a/pgxn/neon/communicator/src/worker_process/main_loop.rs +++ b/pgxn/neon/communicator/src/worker_process/main_loop.rs @@ -323,7 +323,7 @@ impl<'t> CommunicatorWorkerProcessStruct<'t> { self.request_prefetchv_counter.inc(); self.request_prefetchv_nblocks_counter .inc_by(req.nblocks as u64); - let req = req.clone(); + let req = *req; tokio::spawn(async move { self.handle_prefetchv_request(&req).await }); NeonIOResult::PrefetchVLaunched }