From 8b68ed92b6f89a35731285b9fd8c1502227bf6e3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 28 Oct 2023 10:15:37 +0800 Subject: [PATCH] 1 --- src/listhead.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/listhead.rs b/src/listhead.rs index b7a2c2b..6ddd630 100644 --- a/src/listhead.rs +++ b/src/listhead.rs @@ -14,19 +14,7 @@ pub struct ListHead { impl ListHead { - pub fn new_head() -> Rc::> { - let this = Rc::new(RefCell::new(ListHead{ - prev: Default::default(), - next: Default::default(), - data: Default::default(), - _self_wp: Default::default(), - })); - this.borrow_mut()._self_wp = Rc::downgrade(&this); - this.borrow_mut().init(); - return this; - } - - pub fn new_node(data: Weak::>) -> Rc::> { + fn new(data: Weak::>) -> Rc::> { let this = Rc::new(RefCell::new(ListHead{ prev: Default::default(), next: Default::default(), @@ -38,6 +26,14 @@ impl ListHead { return this; } + pub fn new_head() -> Rc::> { + return Self::new(Default::default()); + } + + pub fn new_node(data: Weak::>) -> Rc::> { + return Self::new(data); + } + fn init(&mut self) { self.prev = Rc::downgrade(&self.shared_from_self()); self.next = Rc::downgrade(&self.shared_from_self());