diff --git a/src/utils/linkedlist.rs b/src/utils/linkedlist.rs index 251c43a3..e531b116 100644 --- a/src/utils/linkedlist.rs +++ b/src/utils/linkedlist.rs @@ -97,6 +97,19 @@ impl LinkedList { self.root.append_existing(t) } + #[expect(dead_code)] + pub fn rotate_last(&self, t: &NodeRef) { + unsafe { + let root = self.root.data.as_ref(); + root.prev.get().as_ref().next.set(root.next.get()); + root.next.get().as_ref().prev.set(root.prev.get()); + root.prev.set(t.data); + root.next.set(t.data.as_ref().next.get()); + t.data.as_ref().next.get().as_ref().prev.set(self.root.data); + t.data.as_ref().next.set(self.root.data); + } + } + pub fn iter(&self) -> LinkedListIter { unsafe { let root = self.root.data.as_ref();