Implement Clone for Box<[T]> where T: Clone

Closes #25097
This commit is contained in:
Jonathan Reem
2015-07-26 22:12:00 -07:00
parent 184267cac6
commit e24423091f
4 changed files with 109 additions and 10 deletions

View File

@@ -11,7 +11,6 @@
use ascii;
use borrow::{Cow, ToOwned, Borrow};
use boxed::Box;
use clone::Clone;
use convert::{Into, From};
use cmp::{PartialEq, Eq, PartialOrd, Ord, Ordering};
use error::Error;
@@ -62,7 +61,7 @@ use vec::Vec;
/// }
/// # }
/// ```
#[derive(PartialEq, PartialOrd, Eq, Ord, Hash)]
#[derive(PartialEq, PartialOrd, Eq, Ord, Hash, Clone)]
#[stable(feature = "rust1", since = "1.0.0")]
pub struct CString {
inner: Box<[u8]>,
@@ -250,13 +249,6 @@ impl CString {
}
}
#[stable(feature = "rust1", since = "1.0.0")]
impl Clone for CString {
fn clone(&self) -> Self {
CString { inner: self.inner.to_owned().into_boxed_slice() }
}
}
#[stable(feature = "rust1", since = "1.0.0")]
impl Deref for CString {
type Target = CStr;