Rollup merge of #52870 - cramertj:unpin-futureobj, r=aturon

Implement Unpin for FutureObj and LocalFutureObj

cc @MajorBreakfast

r? @aturon
This commit is contained in:
Pietro Albini 2018-08-01 10:12:57 +02:00 committed by GitHub
commit 341f882462
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -36,6 +36,8 @@ pub struct LocalFutureObj<'a, T> {
_marker: PhantomData<&'a ()>,
}
impl<'a, T> Unpin for LocalFutureObj<'a, T> {}
impl<'a, T> LocalFutureObj<'a, T> {
/// Create a `LocalFutureObj` from a custom trait object representation.
#[inline]
@ -104,6 +106,7 @@ impl<'a, T> Drop for LocalFutureObj<'a, T> {
/// information #44874)
pub struct FutureObj<'a, T>(LocalFutureObj<'a, T>);
impl<'a, T> Unpin for FutureObj<'a, T> {}
unsafe impl<'a, T> Send for FutureObj<'a, T> {}
impl<'a, T> FutureObj<'a, T> {