Skip to content

Commit

Permalink
Refer to the exposed versions of the methods instead
Browse files Browse the repository at this point in the history
Changing to those doesn't introduce any new unsoundness over the existing ones, so they're the better "if you won't want to think about it" replacement.  But also mention the strict provenance APIs, as that's what we'd rather they use instead.
  • Loading branch information
scottmcm committed Apr 3, 2022
1 parent 9072281 commit 4d37d1f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
9 changes: 7 additions & 2 deletions library/core/src/ptr/const_ptr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,11 @@ impl<T: ?Sized> *const T {
/// assert_eq!(p1.to_bits() - p0.to_bits(), 4);
/// ```
#[unstable(feature = "ptr_to_from_bits", issue = "91126")]
#[rustc_deprecated(since = "1.62", reason = "replaced by the `addr` method")]
#[rustc_deprecated(
since = "1.62",
reason = "replaced by the `exposed_addr` method, or update your code \
to follow the strict provenance rules using its APIs"
)]
pub fn to_bits(self) -> usize
where
T: Sized,
Expand All @@ -143,7 +147,8 @@ impl<T: ?Sized> *const T {
#[unstable(feature = "ptr_to_from_bits", issue = "91126")]
#[rustc_deprecated(
since = "1.62",
reason = "replaced by the `with_addr` method or the `ptr::invalid` function"
reason = "replaced by the `ptr::from_exposed_addr` function, or update \
your code to follow the strict provenance rules using its APIs"
)]
#[allow(fuzzy_provenance_casts)] // this is an unstable and semi-deprecated cast function
pub fn from_bits(bits: usize) -> Self
Expand Down
9 changes: 7 additions & 2 deletions library/core/src/ptr/mut_ptr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,11 @@ impl<T: ?Sized> *mut T {
/// assert_eq!(p1.to_bits() - p0.to_bits(), 4);
/// ```
#[unstable(feature = "ptr_to_from_bits", issue = "91126")]
#[rustc_deprecated(since = "1.62", reason = "replaced by the `addr` method")]
#[rustc_deprecated(
since = "1.62",
reason = "replaced by the `exposed_addr` method, or update your code \
to follow the strict provenance rules using its APIs"
)]
pub fn to_bits(self) -> usize
where
T: Sized,
Expand All @@ -149,7 +153,8 @@ impl<T: ?Sized> *mut T {
#[unstable(feature = "ptr_to_from_bits", issue = "91126")]
#[rustc_deprecated(
since = "1.62",
reason = "replaced by the `with_addr` method or the `ptr::invalid_mut` function"
reason = "replaced by the `ptr::from_exposed_addr_mut` function, or \
update your code to follow the strict provenance rules using its APIs"
)]
#[allow(fuzzy_provenance_casts)] // this is an unstable and semi-deprecated cast function
pub fn from_bits(bits: usize) -> Self
Expand Down

0 comments on commit 4d37d1f

Please sign in to comment.