diff options
| author | Without Boats <boats@mozilla.com> | 2018-09-01 01:54:59 +0200 |
|---|---|---|
| committer | Without Boats <boats@mozilla.com> | 2018-09-01 01:54:59 +0200 |
| commit | c3bdd760472583f45dca1d0c9c16012f84d3fa15 (patch) | |
| tree | d384e0713c2d185ec1410ccebc372925e3d2f38c /src/liballoc | |
| parent | aaa170bebe31d03e2eea14e8cb06dc2e8891216b (diff) | |
| download | rust-c3bdd760472583f45dca1d0c9c16012f84d3fa15.tar.gz rust-c3bdd760472583f45dca1d0c9c16012f84d3fa15.zip | |
Implement Unpin for Box, Rc, and Arc
Diffstat (limited to 'src/liballoc')
| -rw-r--r-- | src/liballoc/boxed.rs | 3 | ||||
| -rw-r--r-- | src/liballoc/rc.rs | 5 | ||||
| -rw-r--r-- | src/liballoc/sync.rs | 5 |
3 files changed, 11 insertions, 2 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs index c25f3eb8f17..f16a112b801 100644 --- a/src/liballoc/boxed.rs +++ b/src/liballoc/boxed.rs @@ -749,6 +749,9 @@ impl<T: ?Sized> AsMut<T> for Box<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 diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs index 4860daa11e2..488b9d32cf0 100644 --- a/src/liballoc/rc.rs +++ b/src/liballoc/rc.rs @@ -252,7 +252,7 @@ use core::fmt; 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 @@ impl<T: ?Sized> AsRef<T> for Rc<T> { &**self } } + +#[unstable(feature = "pin", issue = "49150")] +impl<T: ?Sized> Unpin for Box<T> { } diff --git a/src/liballoc/sync.rs b/src/liballoc/sync.rs index 2cd7898f4c7..da94ef4a9c4 100644 --- a/src/liballoc/sync.rs +++ b/src/liballoc/sync.rs @@ -27,7 +27,7 @@ use core::mem::{self, align_of_val, size_of_val}; 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 @@ impl<T: ?Sized> AsRef<T> for Arc<T> { &**self } } + +#[unstable(feature = "pin", issue = "49150")] +impl<T: ?Sized> Unpin for Arc<T> { } |
