about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorAaron Weiss <aaronweiss74@gmail.com>2014-12-08 15:56:10 -0500
committerAaron Weiss <aaronweiss74@gmail.com>2014-12-08 16:32:08 -0500
commitad7dacd9eb39ae8dba6badb41de03821f9dd7707 (patch)
tree907494ceef9ecb8ef184d0566d7f70a86c1d6403 /src/liballoc
parent2e996ffb46d4f9e58d111d7e0de21602ac92411f (diff)
downloadrust-ad7dacd9eb39ae8dba6badb41de03821f9dd7707.tar.gz
rust-ad7dacd9eb39ae8dba6badb41de03821f9dd7707.zip
Implemented BorrowFrom<Rc<T>> for T.
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/rc.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs
index 53891583edb..217c898e661 100644
--- a/src/liballoc/rc.rs
+++ b/src/liballoc/rc.rs
@@ -141,6 +141,7 @@
 
 #![stable]
 
+use core::borrow::BorrowFrom;
 use core::cell::Cell;
 use core::clone::Clone;
 use core::cmp::{PartialEq, PartialOrd, Eq, Ord, Ordering};
@@ -349,6 +350,12 @@ impl<T: Clone> Rc<T> {
     }
 }
 
+impl<T> BorrowFrom<Rc<T>> for T {
+    fn borrow_from(owned: &Rc<T>) -> &T {
+        &**owned
+    }
+}
+
 #[experimental = "Deref is experimental."]
 impl<T> Deref<T> for Rc<T> {
     #[inline(always)]