diff options
| author | Aaron Turon <aturon@mozilla.com> | 2015-02-11 23:16:32 -0800 |
|---|---|---|
| committer | Aaron Turon <aturon@mozilla.com> | 2015-02-18 15:23:58 -0800 |
| commit | a99e698628cbd396c8100ef776d10ac61d911847 (patch) | |
| tree | 889679e9690bbb6303f75abfb9bdd0ec4beedfcc /src/liballoc | |
| parent | 9bb3b3772d4be69b0f619bd9456255a9e3bc7d9e (diff) | |
| download | rust-a99e698628cbd396c8100ef776d10ac61d911847.tar.gz rust-a99e698628cbd396c8100ef776d10ac61d911847.zip | |
Stabilize std::borrow
This commit stabilizes `std::borrow`, making the following modifications to catch up the API with language changes: * It renames `BorrowFrom` to `Borrow`, as was originally intended (but blocked for technical reasons), and reorders the parameters accordingly. * It moves the type parameter of `ToOwned` to an associated type. This is somewhat less flexible, in that each borrowed type must have a unique owned type, but leads to a significant simplification for `Cow`. Flexibility can be regained by using newtyped slices, which is advisable for other reasons anyway. * It removes the owned type parameter from `Cow`, making the type much less verbose. * Deprecates the `is_owned` and `is_borrowed` predicates in favor of direct matching. The above API changes are relatively minor; the basic functionality remains the same, and essentially the whole module is now marked `#[stable]`. [breaking-change]
Diffstat (limited to 'src/liballoc')
| -rw-r--r-- | src/liballoc/arc.rs | 7 | ||||
| -rw-r--r-- | src/liballoc/rc.rs | 7 |
2 files changed, 0 insertions, 14 deletions
diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs index 3830d7fe295..a8d6c3ff2b0 100644 --- a/src/liballoc/arc.rs +++ b/src/liballoc/arc.rs @@ -73,7 +73,6 @@ use core::prelude::*; use core::atomic; use core::atomic::Ordering::{Relaxed, Release, Acquire, SeqCst}; -use core::borrow::BorrowFrom; use core::fmt; use core::cmp::{Ordering}; use core::default::Default; @@ -244,12 +243,6 @@ impl<T> Clone for Arc<T> { } } -impl<T> BorrowFrom<Arc<T>> for T { - fn borrow_from(owned: &Arc<T>) -> &T { - &**owned - } -} - #[stable(feature = "rust1", since = "1.0.0")] impl<T> Deref for Arc<T> { type Target = T; diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs index f361c36ec8f..3e52886280b 100644 --- a/src/liballoc/rc.rs +++ b/src/liballoc/rc.rs @@ -144,7 +144,6 @@ #![stable(feature = "rust1", since = "1.0.0")] -use core::borrow::BorrowFrom; use core::cell::Cell; use core::clone::Clone; use core::cmp::{PartialEq, PartialOrd, Eq, Ord, Ordering}; @@ -349,12 +348,6 @@ impl<T: Clone> Rc<T> { } } -impl<T> BorrowFrom<Rc<T>> for T { - fn borrow_from(owned: &Rc<T>) -> &T { - &**owned - } -} - #[stable(feature = "rust1", since = "1.0.0")] impl<T> Deref for Rc<T> { type Target = T; |
