diff --git a/Cargo.toml b/Cargo.toml index 1b1a5d4e03f..2972a0ae1f1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -273,6 +273,7 @@ package = "getrandom" version = "0.3.1" [workspace.lints.rust] +let_underscore_drop = "deny" macro_use_extern_crate = "deny" redundant_lifetimes = "deny" unsafe_op_in_unsafe_fn = "deny" diff --git a/bench-vortex/src/clickbench/clickbench_data.rs b/bench-vortex/src/clickbench/clickbench_data.rs index c0c53b6af88..29d9effa582 100644 --- a/bench-vortex/src/clickbench/clickbench_data.rs +++ b/bench-vortex/src/clickbench/clickbench_data.rs @@ -399,7 +399,7 @@ impl Flavor { let pool = rayon::ThreadPoolBuilder::new() .thread_name(|i| format!("clickbench download {i}")) .build()?; - let _ = pool.install(|| (0_u32..100).into_par_iter().map(|idx| { + let _unused = pool.install(|| (0_u32..100).into_par_iter().map(|idx| { let output_path = basepath.join(Format::Parquet.name()).join(format!("hits_{idx}.parquet")); idempotent(&output_path, |output_path| { info!("Downloading file {idx}"); diff --git a/encodings/sparse/src/lib.rs b/encodings/sparse/src/lib.rs index 33a3bcaa8a5..25af25415aa 100644 --- a/encodings/sparse/src/lib.rs +++ b/encodings/sparse/src/lib.rs @@ -399,7 +399,7 @@ mod test { #[should_panic(expected = "out of bounds")] fn test_scalar_at_oob() { let array = sparse_array(nullable_fill()); - let _ = array.scalar_at(10); + array.scalar_at(10); } #[test] diff --git a/encodings/zstd/src/test.rs b/encodings/zstd/src/test.rs index e83f62014c0..2d0b2ef06d6 100644 --- a/encodings/zstd/src/test.rs +++ b/encodings/zstd/src/test.rs @@ -196,5 +196,5 @@ fn test_sliced_array_children() { let compressed = ZstdArray::from_primitive(&PrimitiveArray::from_option_iter(data), 0, 100).unwrap(); let sliced = compressed.slice(0..4); - let _ = sliced.children(); + sliced.children(); } diff --git a/vortex-array/src/arrays/datetime/test.rs b/vortex-array/src/arrays/datetime/test.rs index 0a6fcc37afb..6001c4b3001 100644 --- a/vortex-array/src/arrays/datetime/test.rs +++ b/vortex-array/src/arrays/datetime/test.rs @@ -159,7 +159,7 @@ fn test_timestamp_fails_i32() { let ts = buffer![100i32].into_array(); let ts_array = ts.into_array(); - let _ = TemporalArray::new_timestamp(ts_array, TimeUnit::Seconds, None); + TemporalArray::new_timestamp(ts_array, TimeUnit::Seconds, None); } #[rstest] diff --git a/vortex-array/src/arrays/list/tests.rs b/vortex-array/src/arrays/list/tests.rs index b7af2115856..a7ef2496116 100644 --- a/vortex-array/src/arrays/list/tests.rs +++ b/vortex-array/src/arrays/list/tests.rs @@ -776,7 +776,7 @@ fn test_negative_offset_values() { let offsets = buffer![-1i32, 2, 4, 5].into_array(); let validity = Validity::AllValid; - let _ = ListArray::try_new(elements, offsets, validity).unwrap(); + ListArray::try_new(elements, offsets, validity).unwrap(); } #[test] @@ -786,7 +786,7 @@ fn test_unsorted_offsets() { let offsets = buffer![0u32, 3, 2, 5].into_array(); let validity = Validity::AllValid; - let _ = ListArray::try_new(elements, offsets, validity).unwrap(); + ListArray::try_new(elements, offsets, validity).unwrap(); } #[test] @@ -796,7 +796,7 @@ fn test_offset_exceeding_elements_length() { let offsets = buffer![0u32, 2, 4, 7].into_array(); let validity = Validity::AllValid; - let _ = ListArray::try_new(elements, offsets, validity).unwrap(); + ListArray::try_new(elements, offsets, validity).unwrap(); } #[test] @@ -809,7 +809,7 @@ fn test_validity_length_mismatch() { Nullability::Nullable, ); - let _ = ListArray::try_new(elements, offsets, validity).unwrap(); + ListArray::try_new(elements, offsets, validity).unwrap(); } #[test] @@ -819,7 +819,7 @@ fn test_nullable_offsets() { let offsets = PrimitiveArray::from_option_iter([Some(0u32), Some(2), None, Some(5)]); let validity = Validity::AllValid; - let _ = ListArray::try_new(elements, offsets.into_array(), validity).unwrap(); + ListArray::try_new(elements, offsets.into_array(), validity).unwrap(); } #[test] @@ -829,7 +829,7 @@ fn test_empty_offsets_array() { let offsets = PrimitiveArray::empty::(Nullability::NonNullable); let validity = Validity::AllValid; - let _ = ListArray::try_new(elements, offsets.into_array(), validity).unwrap(); + ListArray::try_new(elements, offsets.into_array(), validity).unwrap(); } #[test] @@ -839,7 +839,7 @@ fn test_non_integer_offsets() { let offsets = buffer![0.0f32, 2.0, 4.0, 5.0].into_array(); let validity = Validity::AllValid; - let _ = ListArray::try_new(elements, offsets, validity).unwrap(); + ListArray::try_new(elements, offsets, validity).unwrap(); } #[test] diff --git a/vortex-array/src/patches.rs b/vortex-array/src/patches.rs index ccfbf225bb1..43a1c434b78 100644 --- a/vortex-array/src/patches.rs +++ b/vortex-array/src/patches.rs @@ -1675,7 +1675,7 @@ mod test { // Mask with wrong length let mask = Mask::from_iter([false, false, true, false, false]); - let _ = patches.mask(&mask).unwrap(); + patches.mask(&mask).unwrap(); } #[test] diff --git a/vortex-cxx/src/lib.rs b/vortex-cxx/src/lib.rs index 089eda3d00b..1cc63071ebc 100644 --- a/vortex-cxx/src/lib.rs +++ b/vortex-cxx/src/lib.rs @@ -32,6 +32,7 @@ pub(crate) static SESSION: LazyLock = LazyLock::new(|| VortexSession::default().with_handle(RUNTIME.handle())); #[cxx::bridge(namespace = "vortex::ffi")] +#[allow(let_underscore_drop)] mod ffi { extern "Rust" { type DType; diff --git a/vortex-datafusion/src/persistent/sink.rs b/vortex-datafusion/src/persistent/sink.rs index e4bb14335f0..e2dc9963fc6 100644 --- a/vortex-datafusion/src/persistent/sink.rs +++ b/vortex-datafusion/src/persistent/sink.rs @@ -392,7 +392,7 @@ mod tests { register_vortex_format_factory(factory, &mut session_state_builder); let session = SessionContext::new_with_state(session_state_builder.build()); - let _ = session + let _unused = session .sql(&format!( "CREATE EXTERNAL TABLE my_tbl \ (c1 VARCHAR NOT NULL, c2 INT NOT NULL) \ diff --git a/vortex-dtype/src/arrow.rs b/vortex-dtype/src/arrow.rs index d8d046c5077..a7c73cb6630 100644 --- a/vortex-dtype/src/arrow.rs +++ b/vortex-dtype/src/arrow.rs @@ -337,7 +337,7 @@ mod test { #[test] #[should_panic] fn test_dtype_conversion_panics() { - let _ = DType::Extension(Arc::new(ExtDType::new( + DType::Extension(Arc::new(ExtDType::new( ExtID::from("my-fake-ext-dtype"), Arc::new(DType::Utf8(Nullability::NonNullable)), None, @@ -380,6 +380,6 @@ mod test { #[should_panic] fn test_schema_conversion_panics(the_struct: StructFields) { let schema_null = DType::Struct(the_struct, Nullability::Nullable); - let _ = schema_null.to_arrow_schema().unwrap(); + schema_null.to_arrow_schema().unwrap(); } } diff --git a/vortex-duckdb/build.rs b/vortex-duckdb/build.rs index 55449a43e36..c42153d74e8 100644 --- a/vortex-duckdb/build.rs +++ b/vortex-duckdb/build.rs @@ -3,6 +3,7 @@ #![allow(clippy::unwrap_used)] #![allow(clippy::expect_used)] +use std::io::ErrorKind; use std::path::{Path, PathBuf}; use std::{env, fs}; @@ -44,7 +45,10 @@ fn download_duckdb_lib_archive() -> Result> let archive_path = duckdb_dir.join(&archive_name); // Recreate the duckdb directory - let _ = fs::remove_dir_all(&duckdb_dir); + match fs::remove_dir_all(&duckdb_dir) { + Err(err) if err.kind() == ErrorKind::NotFound => (), + otherwise => otherwise?, + } fs::create_dir_all(&duckdb_dir)?; if !archive_path.exists() { @@ -192,7 +196,10 @@ fn build_duckdb(duckdb_source_root: &Path) -> Result (), + otherwise => otherwise?, + } fs::create_dir_all(&duckdb_library_dir)?; // Copy .dylib and .so files (macOS and Linux). @@ -223,7 +230,7 @@ fn main() { // Download, extract and symlink DuckDB source code. let zip_source_path = download_duckdb_source_archive().unwrap(); let extracted_source_path = extract_duckdb_source(zip_source_path).unwrap(); - let _ = fs::remove_dir_all(&duckdb_repo); + drop(fs::remove_dir_all(&duckdb_repo)); std::os::unix::fs::symlink(&extracted_source_path, &duckdb_repo).unwrap(); let library_path = diff --git a/vortex-duckdb/src/duckdb/object_cache.rs b/vortex-duckdb/src/duckdb/object_cache.rs index 6591ef0adb5..ce83789c927 100644 --- a/vortex-duckdb/src/duckdb/object_cache.rs +++ b/vortex-duckdb/src/duckdb/object_cache.rs @@ -12,7 +12,7 @@ use crate::{cpp, lifetime_wrapper}; unsafe extern "C-unwind" fn rust_box_deleter(ptr: *mut c_void) { if !ptr.is_null() { unsafe { - let _ = Box::from_raw(ptr as *mut T); + drop(Box::from_raw(ptr as *mut T)); } } } diff --git a/vortex-expr/src/exprs/cast.rs b/vortex-expr/src/exprs/cast.rs index a19acb768c4..1108579e86b 100644 --- a/vortex-expr/src/exprs/cast.rs +++ b/vortex-expr/src/exprs/cast.rs @@ -135,6 +135,7 @@ mod tests { use vortex_array::arrays::StructArray; use vortex_buffer::buffer; use vortex_dtype::{DType, Nullability, PType}; + use vortex_error::VortexUnwrap as _; use super::cast; use crate::exprs::get_item::get_item; @@ -155,7 +156,7 @@ mod tests { #[test] fn replace_children() { let expr = cast(root(), DType::Bool(Nullability::Nullable)); - let _ = expr.with_children([root()]); + expr.with_children(vec![root()]).vortex_unwrap(); } #[test] diff --git a/vortex-expr/src/exprs/is_null.rs b/vortex-expr/src/exprs/is_null.rs index 07172ec19bb..d335d32b0ba 100644 --- a/vortex-expr/src/exprs/is_null.rs +++ b/vortex-expr/src/exprs/is_null.rs @@ -99,6 +99,7 @@ mod tests { use vortex_array::stats::Stat; use vortex_buffer::buffer; use vortex_dtype::{DType, Field, FieldPath, FieldPathSet, Nullability}; + use vortex_error::VortexUnwrap as _; use vortex_scalar::Scalar; use vortex_utils::aliases::hash_map::HashMap; @@ -122,7 +123,7 @@ mod tests { #[test] fn replace_children() { let expr = is_null(root()); - let _ = expr.with_children([root()]); + expr.with_children([root()]).vortex_unwrap(); } #[test] diff --git a/vortex-gpu/src/jit/run.rs b/vortex-gpu/src/jit/run.rs index b15332abe28..d13185393af 100644 --- a/vortex-gpu/src/jit/run.rs +++ b/vortex-gpu/src/jit/run.rs @@ -69,11 +69,12 @@ pub fn create_run_jit_kernel( .record_event(Some(CU_EVENT_DEFAULT)) .ok() .vortex_expect("Failed to record event"); - let _ = unsafe { + let launched = unsafe { launch_builder .launch(launch_config) .map_err(|e| vortex_err!("failed to launch kernel {e}"))? }; + drop(launched); let end = stream .record_event(Some(CU_EVENT_DEFAULT)) .ok() diff --git a/vortex-io/src/file/read/mod.rs b/vortex-io/src/file/read/mod.rs index 250240bbb56..b8912b700df 100644 --- a/vortex-io/src/file/read/mod.rs +++ b/vortex-io/src/file/read/mod.rs @@ -124,7 +124,7 @@ impl Drop for ReadFuture { fn drop(&mut self) { // When the FileHandle is dropped, we can send a shutdown event to the I/O stream. // If the I/O stream has already been dropped, this will fail silently. - let _ = self.events.unbounded_send(ReadEvent::Dropped(self.id)); + drop(self.events.unbounded_send(ReadEvent::Dropped(self.id))); } } diff --git a/vortex-io/src/io_buf.rs b/vortex-io/src/io_buf.rs index 12cc38007cc..b1d09a9369a 100644 --- a/vortex-io/src/io_buf.rs +++ b/vortex-io/src/io_buf.rs @@ -446,14 +446,14 @@ mod tests { fn test_owned_slice_invalid_range() { let data = vec![1, 2, 3]; #[allow(clippy::reversed_empty_ranges)] - let _ = data.slice_owned(5..3); // start > end + data.slice_owned(5..3); // start > end } #[test] #[should_panic(expected = "exceeds buffer length")] fn test_owned_slice_out_of_bounds() { let data = vec![1, 2, 3]; - let _ = data.slice_owned(1..10); // end > len + data.slice_owned(1..10); // end > len } #[test] @@ -467,7 +467,7 @@ mod tests { #[should_panic(expected = "exceeds buffer length")] fn test_owned_slice_start_out_of_bounds() { let data = vec![1, 2, 3]; - let _ = data.slice_owned(10..11); // start > len + data.slice_owned(10..11); // start > len } // Buffer overflow protection tests diff --git a/vortex-io/src/limit.rs b/vortex-io/src/limit.rs index 7c876e38399..981f3acc644 100644 --- a/vortex-io/src/limit.rs +++ b/vortex-io/src/limit.rs @@ -259,7 +259,10 @@ mod tests { assert!(result.is_err()); // After consuming, should be able to push again - let _ = stream.next().await; + stream + .next() + .await + .expect("The 10 byte vector ought to be in there!"); assert_eq!(stream.bytes_available(), 10); let result = stream.try_push(Box::pin(async { vec![1u8; 5] }), 5); diff --git a/vortex-io/src/runtime/handle.rs b/vortex-io/src/runtime/handle.rs index 78e0e33336b..c4ef78b820c 100644 --- a/vortex-io/src/runtime/handle.rs +++ b/vortex-io/src/runtime/handle.rs @@ -67,7 +67,7 @@ impl Handle { let abort_handle = self.runtime().spawn( async move { // Task::detach allows the receiver to be dropped, so we ignore send errors. - let _ = send.send(f.await); + drop(send.send(f.await)); } .boxed(), ); @@ -106,7 +106,7 @@ impl Handle { // Optimistically avoid the work if the result won't be used. if !send.is_closed() { // Task::detach allows the receiver to be dropped, so we ignore send errors. - let _ = send.send(f()); + drop(send.send(f())); } })); Task { @@ -126,7 +126,7 @@ impl Handle { // Optimistically avoid the work if the result won't be used. if !send.is_closed() { // Task::detach allows the receiver to be dropped, so we ignore send errors. - let _ = send.send(f()); + drop(send.send(f())); } })); Task { diff --git a/vortex-io/src/runtime/single.rs b/vortex-io/src/runtime/single.rs index d0c68623259..5933b00661b 100644 --- a/vortex-io/src/runtime/single.rs +++ b/vortex-io/src/runtime/single.rs @@ -56,9 +56,11 @@ impl Sender { while let Ok(spawn) = scheduling_recv.as_async().recv().await { if let Some(local) = weak_local2.upgrade() { // Ignore send errors since it means the caller immediately detached. - let _ = spawn - .task_callback - .send(SmolAbortHandle::new_handle(local.spawn(spawn.future))); + drop( + spawn + .task_callback + .send(SmolAbortHandle::new_handle(local.spawn(spawn.future))), + ); } } }) @@ -72,9 +74,9 @@ impl Sender { if let Some(local) = weak_local2.upgrade() { let work = spawn.sync; // Ignore send errors since it means the caller immediately detached. - let _ = spawn.task_callback.send(SmolAbortHandle::new_handle( + drop(spawn.task_callback.send(SmolAbortHandle::new_handle( local.spawn(async move { work() }), - )); + ))); } } }) @@ -88,9 +90,9 @@ impl Sender { if let Some(local) = weak_local2.upgrade() { let work = spawn.sync; // Ignore send errors since it means the caller immediately detached. - let _ = spawn.task_callback.send(SmolAbortHandle::new_handle( + drop(spawn.task_callback.send(SmolAbortHandle::new_handle( local.spawn(async move { work() }), - )); + ))); } } }) diff --git a/vortex-io/src/runtime/tests.rs b/vortex-io/src/runtime/tests.rs index 2b8a9bd4ccd..c9435326a42 100644 --- a/vortex-io/src/runtime/tests.rs +++ b/vortex-io/src/runtime/tests.rs @@ -290,9 +290,9 @@ async fn test_custom_io_source() { let file_read = handle.open_read(source, Default::default()).unwrap(); // Perform several reads - let _ = file_read.read_at(0, 5, Alignment::new(1)).await.unwrap(); - let _ = file_read.read_at(5, 5, Alignment::new(1)).await.unwrap(); - let _ = file_read.read_at(10, 5, Alignment::new(1)).await.unwrap(); + file_read.read_at(0, 5, Alignment::new(1)).await.unwrap(); + file_read.read_at(5, 5, Alignment::new(1)).await.unwrap(); + file_read.read_at(10, 5, Alignment::new(1)).await.unwrap(); // Check that our custom IoSource was called 3 times assert_eq!(read_count.load(Ordering::SeqCst), 3); diff --git a/vortex-layout/src/layouts/dict/writer.rs b/vortex-layout/src/layouts/dict/writer.rs index af11660eefb..1bcf1bd3d0f 100644 --- a/vortex-layout/src/layouts/dict/writer.rs +++ b/vortex-layout/src/layouts/dict/writer.rs @@ -370,7 +370,7 @@ impl Stream for DictionaryTransformer { // Receiver dropped, close this group self.active_codes_tx = None; if let Some(values_tx) = self.active_values_tx.take() { - let _ = values_tx.send(Err(vortex_err!("values receiver dropped"))); + drop(values_tx.send(Err(vortex_err!("values receiver dropped")))); } } Poll::Pending => { @@ -423,14 +423,14 @@ impl Stream for DictionaryTransformer { Poll::Ready(Some(Ok(DictionaryChunk::Values(values)))) => { // Complete the current group if let Some(values_tx) = self.active_values_tx.take() { - let _ = values_tx.send(Ok(values)); + drop(values_tx.send(Ok(values))); } self.active_codes_tx = None; // Close codes stream } Poll::Ready(Some(Err(e))) => { // Send error to active channels if any if let Some(values_tx) = self.active_values_tx.take() { - let _ = values_tx.send(Err(e)); + drop(values_tx.send(Err(e))); } self.active_codes_tx = None; // And terminate the stream @@ -439,7 +439,7 @@ impl Stream for DictionaryTransformer { Poll::Ready(None) => { // Handle any incomplete group if let Some(values_tx) = self.active_values_tx.take() { - let _ = values_tx.send(Err(vortex_err!("Incomplete dictionary group"))); + drop(values_tx.send(Err(vortex_err!("Incomplete dictionary group")))); } self.active_codes_tx = None; return Poll::Ready(None); diff --git a/vortex-mask/src/bitops.rs b/vortex-mask/src/bitops.rs index d59804136a8..86caafa5b95 100644 --- a/vortex-mask/src/bitops.rs +++ b/vortex-mask/src/bitops.rs @@ -181,7 +181,7 @@ mod tests { fn test_bitand_different_lengths() { let mask1 = Mask::new_true(5); let mask2 = Mask::new_true(3); - let _ = &mask1 & &mask2; + let _unused = &mask1 & &mask2; } #[test] diff --git a/vortex-mask/src/intersect_by_rank.rs b/vortex-mask/src/intersect_by_rank.rs index 59235d4517a..f3b1d7ce8d2 100644 --- a/vortex-mask/src/intersect_by_rank.rs +++ b/vortex-mask/src/intersect_by_rank.rs @@ -149,7 +149,7 @@ mod test { fn test_intersect_by_rank_wrong_length() { let m1 = Mask::from_indices(10, vec![2, 5, 7]); // 3 true values let m2 = Mask::new_true(5); // 5 true values - doesn't match - let _ = m1.intersect_by_rank(&m2); + m1.intersect_by_rank(&m2); } #[rstest] diff --git a/vortex-mask/src/mask_mut.rs b/vortex-mask/src/mask_mut.rs index ab2147f483c..c1b9f6a6326 100644 --- a/vortex-mask/src/mask_mut.rs +++ b/vortex-mask/src/mask_mut.rs @@ -555,7 +555,7 @@ mod tests { #[should_panic(expected = "split_off index out of bounds")] fn test_split_off_out_of_bounds() { let mut mask = MaskMut::new_true(10); - let _ = mask.split_off(11); + mask.split_off(11); } #[test] diff --git a/vortex-mask/src/tests.rs b/vortex-mask/src/tests.rs index 989f5a0087d..37d9e45a458 100644 --- a/vortex-mask/src/tests.rs +++ b/vortex-mask/src/tests.rs @@ -141,7 +141,7 @@ fn test_mask_slice() { #[should_panic] fn test_mask_slice_out_of_bounds() { let mask = Mask::new_true(5); - let _ = mask.slice(3..8); // offset + length > len + mask.slice(3..8); // offset + length > len } // Limit operations @@ -374,7 +374,7 @@ fn test_mask_valid_counts_for_indices() { fn test_mask_valid_counts_for_indices_error() { let mask = Mask::from_buffer(BitBuffer::from_iter([true, false, true])); let indices = vec![0, 2, 5]; // 5 is out of bounds - let _ = mask.valid_counts_for_indices(&indices); + mask.valid_counts_for_indices(&indices); } // FromIterator tests @@ -441,37 +441,37 @@ fn test_mask_from_iter_with_empty_masks() { #[test] #[should_panic] fn test_mask_from_indices_unsorted() { - let _ = Mask::from_indices(5, vec![2, 0, 3]); // Not sorted + Mask::from_indices(5, vec![2, 0, 3]); // Not sorted } #[test] #[should_panic] fn test_mask_from_indices_out_of_bounds() { - let _ = Mask::from_indices(5, vec![0, 2, 5]); // 5 is out of bounds + Mask::from_indices(5, vec![0, 2, 5]); // 5 is out of bounds } #[test] #[should_panic] fn test_mask_from_slices_invalid_range() { - let _ = Mask::from_slices(5, vec![(2, 2)]); // Invalid range where start == end + Mask::from_slices(5, vec![(2, 2)]); // Invalid range where start == end } #[test] #[should_panic] fn test_mask_from_slices_out_of_bounds() { - let _ = Mask::from_slices(5, vec![(0, 6)]); // end > len + Mask::from_slices(5, vec![(0, 6)]); // end > len } #[test] #[should_panic] fn test_mask_from_slices_unsorted() { - let _ = Mask::from_slices(5, vec![(2, 3), (0, 1)]); // Not sorted + Mask::from_slices(5, vec![(2, 3), (0, 1)]); // Not sorted } #[test] #[should_panic] fn test_mask_from_slices_overlapping() { - let _ = Mask::from_slices(5, vec![(0, 3), (2, 4)]); // Overlapping ranges + Mask::from_slices(5, vec![(0, 3), (2, 4)]); // Overlapping ranges } // Threshold iterator tests diff --git a/vortex-scalar/src/arrow/tests.rs b/vortex-scalar/src/arrow/tests.rs index 7a6257369b4..8343f072346 100644 --- a/vortex-scalar/src/arrow/tests.rs +++ b/vortex-scalar/src/arrow/tests.rs @@ -228,7 +228,7 @@ fn test_struct_scalar_to_arrow_todo() { struct_dtype, vec![Scalar::primitive(42i32, Nullability::NonNullable)], ); - let _ = Arc::::try_from(&struct_scalar); + Arc::::try_from(&struct_scalar).unwrap(); } #[test] @@ -244,7 +244,7 @@ fn test_list_scalar_to_arrow_todo() { Nullability::NonNullable, ); - let _ = Arc::::try_from(&list_scalar); + Arc::::try_from(&list_scalar).unwrap(); } #[test] @@ -263,7 +263,7 @@ fn test_non_temporal_extension_to_arrow_todo() { Scalar::primitive(42i32, Nullability::NonNullable), ); - let _ = Arc::::try_from(&scalar); + Arc::::try_from(&scalar).unwrap(); } #[rstest] diff --git a/vortex-scalar/src/list.rs b/vortex-scalar/src/list.rs index 19df27543ee..d83515dc7ac 100644 --- a/vortex-scalar/src/list.rs +++ b/vortex-scalar/src/list.rs @@ -549,7 +549,7 @@ mod tests { let children = vec![ Scalar::primitive(1i64, Nullability::NonNullable), // Wrong type! ]; - let _ = Scalar::list(element_dtype, children, Nullability::NonNullable); + Scalar::list(element_dtype, children, Nullability::NonNullable); } #[test] diff --git a/vortex/examples/tracing_vortex.rs b/vortex/examples/tracing_vortex.rs index 5f8557f1826..12e23ae6806 100644 --- a/vortex/examples/tracing_vortex.rs +++ b/vortex/examples/tracing_vortex.rs @@ -169,7 +169,7 @@ struct ShutdownSignal { impl ShutdownSignal { fn signal(self) { // Drop the sender, signaling to any receiver that it is finished writing. - let _ = self.inner.lock().unwrap().take(); + drop(self.inner.lock().unwrap().take()); } } @@ -221,7 +221,7 @@ where }; // Send to async writer (non-blocking) - let _ = sender.send(trace_event); + let _unused = sender.send(trace_event); } }