From 30ebe9ce740394f7b330a534ecd57ca0a5401709 Mon Sep 17 00:00:00 2001 From: soruh Date: Fri, 31 Jul 2026 03:41:53 +0200 Subject: [PATCH] Use explicit reference-counted clones --- src/tests.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/tests.rs b/src/tests.rs index 175778b..1a9521d 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -90,7 +90,7 @@ fn test_send_type_erased_vec_retains_send_elements_across_threads() { #[test] fn test_send_sync_type_erased_vec_retains_elements() { let value = Arc::new(42); - let mut erased = SendSyncTypeErasedVec::new(vec![value.clone()]); + let mut erased = SendSyncTypeErasedVec::new(vec![Arc::clone(&value)]); assert_eq!(erased.length(), 1); assert_eq!(erased.layout(), Layout::new::>()); @@ -207,7 +207,7 @@ fn test_clear_drops_elements() { let mut vec = Vec::with_capacity(5); for _ in 0..5 { - vec.push(DropTracker::new(drop_count.clone())); + vec.push(DropTracker::new(Rc::clone(&drop_count))); } let initial_cap = vec.capacity(); @@ -266,7 +266,7 @@ fn test_clear_is_unwind_safe_when_element_drop_panics() { let has_panicked = Rc::new(Cell::new(false)); let mut erased = TypeErasedVec::new(vec![PanicOnFirstDrop { - has_panicked: has_panicked.clone(), + has_panicked: Rc::clone(&has_panicked), }]); let result = panic::catch_unwind(panic::AssertUnwindSafe(|| { @@ -312,7 +312,7 @@ fn test_try_as_type_clears_elements() { let mut vec = Vec::with_capacity(5); for _ in 0..3 { - vec.push(DropTracker::new(drop_count.clone())); + vec.push(DropTracker::new(Rc::clone(&drop_count))); } let initial_cap = vec.capacity(); @@ -332,7 +332,7 @@ fn test_try_as_type_clears_elements() { fn test_guard_with_unwind_safety() { let drop_count = Rc::new(Cell::new(0)); let mut vec = Vec::with_capacity(10); - vec.push(DropTracker::new(drop_count.clone())); + vec.push(DropTracker::new(Rc::clone(&drop_count))); let mut erased = TypeErasedVec::new(vec); assert_erased_state(&erased, 1, Layout::new::()); @@ -341,7 +341,7 @@ fn test_guard_with_unwind_safety() { let mut guard = unsafe { erased.cast_type::() }; guard.with(|v| { - v.push(DropTracker::new(drop_count.clone())); + v.push(DropTracker::new(Rc::clone(&drop_count))); panic!("Simulated panic inside with()"); }); })); @@ -382,7 +382,7 @@ fn test_conversion_methods() { fn test_try_into_vec_failure_and_recovery() { let drop_count = Rc::new(Cell::new(0)); let mut vec = Vec::with_capacity(5); - vec.push(DropTracker::new(drop_count.clone())); + vec.push(DropTracker::new(Rc::clone(&drop_count))); let initial_cap = vec.capacity(); let erased = TypeErasedVec::new(vec); @@ -465,7 +465,7 @@ fn test_into_vec_unchecked_panics_on_layout_mismatch_in_debug() { fn test_sendable_clears_and_unpacks() { let drop_count = Rc::new(Cell::new(0)); let mut vec = Vec::with_capacity(5); - vec.push(DropTracker::new(drop_count.clone())); + vec.push(DropTracker::new(Rc::clone(&drop_count))); let initial_cap = vec.capacity(); let erased = TypeErasedVec::new(vec); @@ -483,7 +483,7 @@ fn test_sendable_clears_and_unpacks() { fn test_drop_cleans_up_allocation() { let drop_count = Rc::new(Cell::new(0)); let mut vec = Vec::with_capacity(5); - vec.push(DropTracker::new(drop_count.clone())); + vec.push(DropTracker::new(Rc::clone(&drop_count))); { let erased = TypeErasedVec::new(vec);