From cf000f0408f3d9c4e62d2c71aae979ab0677ca0e Mon Sep 17 00:00:00 2001
From: Simon Sapin <simon.sapin@exyr.org>
Date: Fri, 29 Jan 2021 14:38:48 +0100
Subject: [PATCH] Pointer metadata: add tracking issue number

---
 library/core/src/ptr/const_ptr.rs |  4 ++--
 library/core/src/ptr/metadata.rs  | 14 +++++++-------
 library/core/src/ptr/mod.rs       |  2 +-
 library/core/src/ptr/mut_ptr.rs   |  4 ++--
 library/core/src/ptr/non_null.rs  |  8 ++++----
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/library/core/src/ptr/const_ptr.rs b/library/core/src/ptr/const_ptr.rs
index a635e59e89b..3f065e08ddf 100644
--- a/library/core/src/ptr/const_ptr.rs
+++ b/library/core/src/ptr/const_ptr.rs
@@ -52,8 +52,8 @@ impl<T: ?Sized> *const T {
     ///
     /// The pointer can be later reconstructed with [`from_raw_parts`].
     #[cfg(not(bootstrap))]
-    #[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
-    #[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+    #[unstable(feature = "ptr_metadata", issue = "81513")]
+    #[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
     #[inline]
     pub const fn to_raw_parts(self) -> (*const (), <T as super::Pointee>::Metadata) {
         (self.cast(), super::metadata(self))
diff --git a/library/core/src/ptr/metadata.rs b/library/core/src/ptr/metadata.rs
index f4fb37bbdb7..7c7dce0ce74 100644
--- a/library/core/src/ptr/metadata.rs
+++ b/library/core/src/ptr/metadata.rs
@@ -1,4 +1,4 @@
-#![unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+#![unstable(feature = "ptr_metadata", issue = "81513")]
 
 use crate::fmt;
 use crate::hash::{Hash, Hasher};
@@ -72,7 +72,7 @@ pub trait Pointee {
 ///     assert_eq!(std::mem::size_of::<&T>(), std::mem::size_of::<usize>())
 /// }
 /// ```
-#[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+#[unstable(feature = "ptr_metadata", issue = "81513")]
 // NOTE: don’t stabilize this before trait aliases are stable in the language?
 pub trait Thin = Pointee<Metadata = ()>;
 
@@ -88,7 +88,7 @@ pub trait Thin = Pointee<Metadata = ()>;
 ///
 /// assert_eq!(std::ptr::metadata("foo"), 3_usize);
 /// ```
-#[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+#[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
 #[inline]
 pub const fn metadata<T: ?Sized>(ptr: *const T) -> <T as Pointee>::Metadata {
     // SAFETY: Accessing the value from the `PtrRepr` union is safe since *const T
@@ -104,8 +104,8 @@ pub const fn metadata<T: ?Sized>(ptr: *const T) -> <T as Pointee>::Metadata {
 /// For trait objects, the metadata must come from a pointer to the same underlying ereased type.
 ///
 /// [`slice::from_raw_parts`]: crate::slice::from_raw_parts
-#[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
-#[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+#[unstable(feature = "ptr_metadata", issue = "81513")]
+#[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
 #[inline]
 pub const fn from_raw_parts<T: ?Sized>(
     data_address: *const (),
@@ -121,8 +121,8 @@ pub const fn from_raw_parts<T: ?Sized>(
 /// raw `*mut` pointer is returned, as opposed to a raw `*const` pointer.
 ///
 /// See the documentation of [`from_raw_parts`] for more details.
-#[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
-#[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+#[unstable(feature = "ptr_metadata", issue = "81513")]
+#[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
 #[inline]
 pub const fn from_raw_parts_mut<T: ?Sized>(
     data_address: *mut (),
diff --git a/library/core/src/ptr/mod.rs b/library/core/src/ptr/mod.rs
index 05fd090125c..9c53430ce35 100644
--- a/library/core/src/ptr/mod.rs
+++ b/library/core/src/ptr/mod.rs
@@ -87,7 +87,7 @@ mod metadata;
 #[cfg(not(bootstrap))]
 pub(crate) use metadata::PtrRepr;
 #[cfg(not(bootstrap))]
-#[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+#[unstable(feature = "ptr_metadata", issue = "81513")]
 pub use metadata::{from_raw_parts, from_raw_parts_mut, metadata, DynMetadata, Pointee, Thin};
 
 mod non_null;
diff --git a/library/core/src/ptr/mut_ptr.rs b/library/core/src/ptr/mut_ptr.rs
index f7da49290ae..6651c3dd4e8 100644
--- a/library/core/src/ptr/mut_ptr.rs
+++ b/library/core/src/ptr/mut_ptr.rs
@@ -51,8 +51,8 @@ impl<T: ?Sized> *mut T {
     ///
     /// The pointer can be later reconstructed with [`from_raw_parts_mut`].
     #[cfg(not(bootstrap))]
-    #[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
-    #[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+    #[unstable(feature = "ptr_metadata", issue = "81513")]
+    #[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
     #[inline]
     pub const fn to_raw_parts(self) -> (*mut (), <T as super::Pointee>::Metadata) {
         (self.cast(), super::metadata(self))
diff --git a/library/core/src/ptr/non_null.rs b/library/core/src/ptr/non_null.rs
index 3de5b097f5e..709c247f296 100644
--- a/library/core/src/ptr/non_null.rs
+++ b/library/core/src/ptr/non_null.rs
@@ -182,8 +182,8 @@ impl<T: ?Sized> NonNull<T> {
     ///
     /// [`std::ptr::from_raw_parts`]: crate::ptr::from_raw_parts
     #[cfg(not(bootstrap))]
-    #[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
-    #[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+    #[unstable(feature = "ptr_metadata", issue = "81513")]
+    #[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
     #[inline]
     pub const fn from_raw_parts(
         data_address: NonNull<()>,
@@ -199,8 +199,8 @@ impl<T: ?Sized> NonNull<T> {
     ///
     /// The pointer can be later reconstructed with [`NonNull::from_raw_parts`].
     #[cfg(not(bootstrap))]
-    #[unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
-    #[rustc_const_unstable(feature = "ptr_metadata", issue = /* FIXME */ "none")]
+    #[unstable(feature = "ptr_metadata", issue = "81513")]
+    #[rustc_const_unstable(feature = "ptr_metadata", issue = "81513")]
     #[inline]
     pub const fn to_raw_parts(self) -> (NonNull<()>, <T as super::Pointee>::Metadata) {
         (self.cast(), super::metadata(self.as_ptr()))