diff options
Diffstat (limited to 'src/libcollections/slice.rs')
| -rw-r--r-- | src/libcollections/slice.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs index d9a5f3d66f9..ab5ac5bf9e1 100644 --- a/src/libcollections/slice.rs +++ b/src/libcollections/slice.rs @@ -89,7 +89,7 @@ use self::Direction::*; use alloc::boxed::Box; -use core::borrow::{BorrowFrom, BorrowFromMut}; +use core::borrow::{BorrowFrom, BorrowFromMut, ToOwned}; use core::cmp; use core::kinds::Sized; use core::mem::size_of; @@ -658,6 +658,11 @@ impl<T> BorrowFromMut<Vec<T>> for [T] { fn borrow_from_mut(owned: &mut Vec<T>) -> &mut [T] { owned[mut] } } +#[unstable = "trait is unstable"] +impl<T: Clone> ToOwned<Vec<T>> for [T] { + fn to_owned(&self) -> Vec<T> { self.to_vec() } +} + /// Unsafe operations pub mod raw { pub use core::slice::raw::{buf_as_slice, mut_buf_as_slice}; |
