about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-04-05 11:50:12 -0700
committerAlex Crichton <alex@alexcrichton.com>2018-04-05 11:50:12 -0700
commit83669ecc1f123be645456a8816e90c10f5b391f7 (patch)
tree20db34278140b0cea25e2c0f9998328c3832f29a
parent71bf15c6e80f04a4ed13b502a3c79daa05ea1d40 (diff)
parenta29d4d9ad6fb27003712932566724be265e354cd (diff)
downloadrust-83669ecc1f123be645456a8816e90c10f5b391f7.tar.gz
rust-83669ecc1f123be645456a8816e90c10f5b391f7.zip
Rollup merge of #49621 - Nemo157:impl-unpin-for-pin, r=withoutboats
-rw-r--r--src/liballoc/boxed.rs3
-rw-r--r--src/libcore/mem.rs3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs
index 4f9dc61ce19..71b53cc88e5 100644
--- a/src/liballoc/boxed.rs
+++ b/src/liballoc/boxed.rs
@@ -845,3 +845,6 @@ impl<T: ?Sized> fmt::Pointer for PinBox<T> {
 
 #[unstable(feature = "pin", issue = "49150")]
 impl<T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<PinBox<U>> for PinBox<T> {}
+
+#[unstable(feature = "pin", issue = "49150")]
+unsafe impl<T: ?Sized> Unpin for PinBox<T> {}
diff --git a/src/libcore/mem.rs b/src/libcore/mem.rs
index b2467c948b4..e3f08926610 100644
--- a/src/libcore/mem.rs
+++ b/src/libcore/mem.rs
@@ -1213,3 +1213,6 @@ impl<'a, T: ?Sized> fmt::Pointer for Pin<'a, T> {
 
 #[unstable(feature = "pin", issue = "49150")]
 impl<'a, T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<Pin<'a, U>> for Pin<'a, T> {}
+
+#[unstable(feature = "pin", issue = "49150")]
+unsafe impl<'a, T: ?Sized> Unpin for Pin<'a, T> {}