about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorJakub Bukaj <jakub@jakub.cc>2014-11-18 00:24:08 +0100
committerJakub Bukaj <jakub@jakub.cc>2014-11-18 00:24:08 +0100
commit2f8da7bbd0cd6cab726a6658d5d7293f428b9dd3 (patch)
tree6a7c6bfbd55b259ea54510aa72dc32d5c0ab19a4 /src/libcore
parentda5c61d469f1ace01728d465c940577ce886b28a (diff)
parentd429039e7baae7c3c0f18ef012c861f60c769157 (diff)
downloadrust-2f8da7bbd0cd6cab726a6658d5d7293f428b9dd3.tar.gz
rust-2f8da7bbd0cd6cab726a6658d5d7293f428b9dd3.zip
rollup merge of #19041: japaric/clone
Closes #19037
cc #16918

r? @aturon
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/clone.rs16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/libcore/clone.rs b/src/libcore/clone.rs
index a495c780e02..d13daf0964a 100644
--- a/src/libcore/clone.rs
+++ b/src/libcore/clone.rs
@@ -23,6 +23,8 @@ the `clone` method.
 
 #![unstable]
 
+use kinds::Sized;
+
 /// A common trait for cloning an object.
 pub trait Clone {
     /// Returns a copy of the value.
@@ -40,24 +42,12 @@ pub trait Clone {
     }
 }
 
-impl<'a, T> Clone for &'a T {
+impl<'a, Sized? T> Clone for &'a T {
     /// Return a shallow copy of the reference.
     #[inline]
     fn clone(&self) -> &'a T { *self }
 }
 
-impl<'a, T> Clone for &'a [T] {
-    /// Return a shallow copy of the slice.
-    #[inline]
-    fn clone(&self) -> &'a [T] { *self }
-}
-
-impl<'a> Clone for &'a str {
-    /// Return a shallow copy of the slice.
-    #[inline]
-    fn clone(&self) -> &'a str { *self }
-}
-
 macro_rules! clone_impl(
     ($t:ty) => {
         impl Clone for $t {