From 2f50fee01230a7c2c6bce6dc0a7d5505833bc2e7 Mon Sep 17 00:00:00 2001 From: Takeru Ohta Date: Sat, 1 Nov 2025 21:25:08 +0900 Subject: [PATCH 1/3] chore: update Rust edition to 2024 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index a158ac9..8311a15 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ repository = "https://github.com/sile/splay_tree" readme = "README.md" categories = ["data-structures", "no-std"] license = "MIT" -edition = "2021" +edition = "2024" [dependencies] serde = { version = "1", optional = true, default-features = false, features = ["alloc", "derive"] } From deebbcea194662f08bd90bae3cdf9c4bd20ad926 Mon Sep 17 00:00:00 2001 From: Takeru Ohta Date: Sat, 1 Nov 2025 21:26:03 +0900 Subject: [PATCH 2/3] fix: add explicit unsafe block in aliasable_node_mut --- src/tree_core.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tree_core.rs b/src/tree_core.rs index 7c6808b..ea68ec5 100644 --- a/src/tree_core.rs +++ b/src/tree_core.rs @@ -424,7 +424,7 @@ impl Tree { unsafe { self.nodes.get_unchecked_mut(i as usize) } } unsafe fn aliasable_node_mut<'a>(&mut self, i: NodeIndex) -> &'a mut Node { - &mut *(self.node_mut(i) as *mut _) + unsafe { &mut *(self.node_mut(i) as *mut _) } } pub fn len(&self) -> usize { self.nodes.len() From 23fd84d7a68dbc7115c1144148bbc0655af52b91 Mon Sep 17 00:00:00 2001 From: Takeru Ohta Date: Sat, 1 Nov 2025 21:28:00 +0900 Subject: [PATCH 3/3] chore: update rand dependency to 0.9 and use new rng() API --- Cargo.toml | 2 +- tests/lib.rs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8311a15..53c90cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ edition = "2024" serde = { version = "1", optional = true, default-features = false, features = ["alloc", "derive"] } [dev-dependencies] -rand = "0.8" +rand = "0.9" serde_json = { version = "1" } [features] diff --git a/tests/lib.rs b/tests/lib.rs index 71b108a..c905f54 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -91,7 +91,7 @@ mod map { // large map let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let mut map: SplayMap<_, _> = input.into_iter().map(|n| (n, n)).collect(); assert_eq!(map.find_lower_bound_key(&500), Some(&500)); @@ -155,7 +155,7 @@ mod map { #[test] fn large_map() { let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let mut map: SplayMap<_, _> = input.into_iter().map(|n| (n, n)).collect(); for i in 0..1000 { @@ -168,7 +168,7 @@ mod map { #[test] fn map_serde() { let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let map: SplayMap<_, _> = input.into_iter().map(|n| (n, n)).collect(); let ser_map: SplayMap<_, _> = from_str(&to_string(&map).unwrap()).unwrap(); @@ -253,7 +253,7 @@ mod set { // large set let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let mut set: SplaySet<_> = input.into_iter().collect(); assert_eq!(set.find_lower_bound(&500), Some(&500)); @@ -306,7 +306,7 @@ mod set { #[test] fn large_set() { let mut input = (0..1000).collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let mut set: SplaySet<_> = input.iter().cloned().collect(); for i in input { @@ -383,7 +383,7 @@ mod set { #[test] fn set_serde() { let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let set: SplaySet<_> = input.into_iter().collect(); let ser_set: SplaySet<_> = from_str(&to_string(&set).unwrap()).unwrap(); @@ -461,7 +461,7 @@ mod heap { #[test] fn large_heap() { let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let mut heap = input.into_iter().collect::>(); while let Some(n) = heap.pop() { @@ -475,7 +475,7 @@ mod heap { use std::iter::FromIterator; let mut input = (0..1000).into_iter().collect::>(); - input.shuffle(&mut rand::thread_rng()); + input.shuffle(&mut rand::rng()); let heap: SplayHeap<_> = input.into_iter().collect(); let ser_heap: SplayHeap = from_str(&to_string(&heap).unwrap()).unwrap();