about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2019-07-10 21:58:01 -0700
committerSteven Fackler <sfackler@gmail.com>2019-07-10 21:58:01 -0700
commit5a4845d0d44e4d3c4fab3ae45730d319ab3133af (patch)
treeed326d2eee7d5019830dc0099edb0e4c08d27c4f
parent35cacbce1661366250a877da4fa5b6b4cb03542e (diff)
downloadrust-5a4845d0d44e4d3c4fab3ae45730d319ab3133af.tar.gz
rust-5a4845d0d44e4d3c4fab3ae45730d319ab3133af.zip
Implement Unpin for all raw pointers
Like references and boxes, moving the pointer doesn't move the
pointed-to value, so this is safe.
-rw-r--r--src/libcore/marker.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs
index 39c390b4df6..79a188dbac9 100644
--- a/src/libcore/marker.rs
+++ b/src/libcore/marker.rs
@@ -655,6 +655,12 @@ impl<'a, T: ?Sized + 'a> Unpin for &'a T {}
 #[stable(feature = "pin", since = "1.33.0")]
 impl<'a, T: ?Sized + 'a> Unpin for &'a mut T {}
 
+#[stable(feature = "pin_raw", since = "1.38.0")]
+impl<T: ?Sized> Unpin for *const T {}
+
+#[stable(feature = "pin_raw", since = "1.38.0")]
+impl<T: ?Sized> Unpin for *mut T {}
+
 /// Implementations of `Copy` for primitive types.
 ///
 /// Implementations that cannot be described in Rust