From cd510b33821a0b3e7ae7dd576c0d22d3531ddb0b Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Thu, 20 Mar 2014 15:04:55 -0700 Subject: [PATCH] std: Remove the get() method from RefCell wrappers This method has been entirely obsoleted by autoderef, so there's no reason for its existence. --- src/libstd/cell.rs | 29 ++++------------------------- src/libstd/rc.rs | 2 +- src/libstd/rt/task.rs | 2 +- 3 files changed, 6 insertions(+), 27 deletions(-) diff --git a/src/libstd/cell.rs b/src/libstd/cell.rs index b54396efec5..d09b31faa25 100644 --- a/src/libstd/cell.rs +++ b/src/libstd/cell.rs @@ -176,8 +176,7 @@ impl RefCell { /// Fails if the value is currently borrowed. #[inline] pub fn set(&self, value: T) { - let mut reference = self.borrow_mut(); - *reference.get() = value; + *self.borrow_mut() = value; } } @@ -189,23 +188,19 @@ impl RefCell { /// Fails if the value is currently mutably borrowed. #[inline] pub fn get(&self) -> T { - let reference = self.borrow(); - (*reference.get()).clone() + (*self.borrow()).clone() } } impl Clone for RefCell { fn clone(&self) -> RefCell { - let x = self.borrow(); - RefCell::new(x.get().clone()) + RefCell::new(self.get()) } } impl Eq for RefCell { fn eq(&self, other: &RefCell) -> bool { - let a = self.borrow(); - let b = other.borrow(); - a.get() == b.get() + *self.borrow() == *other.borrow() } } @@ -222,14 +217,6 @@ impl<'b, T> Drop for Ref<'b, T> { } } -impl<'b, T> Ref<'b, T> { - /// Retrieve an immutable reference to the stored value. - #[inline] - pub fn get<'a>(&'a self) -> &'a T { - unsafe{ &*self.parent.value.get() } - } -} - impl<'b, T> Deref for Ref<'b, T> { #[inline] fn deref<'a>(&'a self) -> &'a T { @@ -250,14 +237,6 @@ impl<'b, T> Drop for RefMut<'b, T> { } } -impl<'b, T> RefMut<'b, T> { - /// Retrieve a mutable reference to the stored value. - #[inline] - pub fn get<'a>(&'a mut self) -> &'a mut T { - unsafe{ &mut *self.parent.value.get() } - } -} - impl<'b, T> Deref for RefMut<'b, T> { #[inline] fn deref<'a>(&'a self) -> &'a T { diff --git a/src/libstd/rc.rs b/src/libstd/rc.rs index 03be4fea5ee..490b3068dda 100644 --- a/src/libstd/rc.rs +++ b/src/libstd/rc.rs @@ -284,7 +284,7 @@ mod tests { let a = Rc::new(Cycle { x: RefCell::new(None) }); let b = a.clone().downgrade(); - *a.deref().x.borrow_mut().get() = Some(b); + *a.deref().x.borrow_mut() = Some(b); // hopefully we don't double-free (or leak)... } diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs index 8c617c1b59b..f6d4579156e 100644 --- a/src/libstd/rt/task.rs +++ b/src/libstd/rt/task.rs @@ -471,7 +471,7 @@ mod test { { let mut a = a.borrow_mut(); - a.get().next = Some(b); + a.next = Some(b); } }