From 9941263a8260ad572423f7d47183c3ac22b75f53 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Fri, 18 Jul 2025 20:02:04 +0200 Subject: [PATCH] linked-list: add LinkedList::rotate_last --- src/utils/linkedlist.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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();