]> git.lizzy.rs Git - rust.git/commitdiff
Implement Unpin for Box, Rc, and Arc
authorWithout Boats <boats@mozilla.com>
Fri, 31 Aug 2018 23:54:59 +0000 (01:54 +0200)
committerWithout Boats <boats@mozilla.com>
Fri, 31 Aug 2018 23:54:59 +0000 (01:54 +0200)
src/liballoc/boxed.rs
src/liballoc/rc.rs
src/liballoc/sync.rs

index c25f3eb8f17504776b8da2abb6f448e53309661d..f16a112b80119bb7bfa12efc26e67601a13dee8a 100644 (file)
@@ -749,6 +749,9 @@ fn as_mut(&mut self) -> &mut T {
     }
 }
 
+#[unstable(feature = "pin", issue = "49150")]
+impl<T: ?Sized> Unpin for Box<T> { }
+
 #[unstable(feature = "generator_trait", issue = "43122")]
 impl<T> Generator for Box<T>
     where T: Generator + ?Sized
index 4860daa11e20c2f96a57ebc6a6e4a4ea8b16fc87..488b9d32cf0a567205e86ef832583c31e8a26d04 100644 (file)
 use core::hash::{Hash, Hasher};
 use core::intrinsics::abort;
 use core::marker;
-use core::marker::{Unsize, PhantomData};
+use core::marker::{Unpin, Unsize, PhantomData};
 use core::mem::{self, align_of_val, forget, size_of_val};
 use core::ops::Deref;
 use core::ops::CoerceUnsized;
@@ -1830,3 +1830,6 @@ fn as_ref(&self) -> &T {
         &**self
     }
 }
+
+#[unstable(feature = "pin", issue = "49150")]
+impl<T: ?Sized> Unpin for Box<T> { }
index 2cd7898f4c78134678cfee3e4750ecc3f10a6d89..da94ef4a9c4f1862508c5601caf51d8991b8042d 100644 (file)
@@ -27,7 +27,7 @@
 use core::ops::Deref;
 use core::ops::CoerceUnsized;
 use core::ptr::{self, NonNull};
-use core::marker::{Unsize, PhantomData};
+use core::marker::{Unpin, Unsize, PhantomData};
 use core::hash::{Hash, Hasher};
 use core::{isize, usize};
 use core::convert::From;
@@ -1942,3 +1942,6 @@ fn as_ref(&self) -> &T {
         &**self
     }
 }
+
+#[unstable(feature = "pin", issue = "49150")]
+impl<T: ?Sized> Unpin for Arc<T> { }