diff options
| author | Ralf Jung <post@ralfj.de> | 2022-11-20 11:28:08 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2022-11-20 16:04:16 +0100 |
| commit | 428ab59fb72e92358e3dad3e6a2817ffdfa7dec6 (patch) | |
| tree | 63380a8ac5a61038debc57162e08cbccfcfa1033 | |
| parent | 2bb28c174bdc47ec5cb7e734ed925d1f37c4000b (diff) | |
| download | rust-428ab59fb72e92358e3dad3e6a2817ffdfa7dec6.tar.gz rust-428ab59fb72e92358e3dad3e6a2817ffdfa7dec6.zip | |
enable fuzzy_provenance_casts in libcore+tests
| -rw-r--r-- | library/core/src/lib.rs | 2 | ||||
| -rw-r--r-- | library/core/src/ptr/const_ptr.rs | 1 | ||||
| -rw-r--r-- | library/core/src/ptr/mod.rs | 2 | ||||
| -rw-r--r-- | library/core/src/ptr/mut_ptr.rs | 1 | ||||
| -rw-r--r-- | library/core/tests/lib.rs | 1 |
5 files changed, 7 insertions, 0 deletions
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs index 848eccd7f29..724adb7ad5d 100644 --- a/library/core/src/lib.rs +++ b/library/core/src/lib.rs @@ -89,6 +89,7 @@ // Lints: #![deny(rust_2021_incompatible_or_patterns)] #![deny(unsafe_op_in_unsafe_fn)] +#![deny(fuzzy_provenance_casts)] #![warn(deprecated_in_future)] #![warn(missing_debug_implementations)] #![warn(missing_docs)] @@ -162,6 +163,7 @@ #![feature(slice_ptr_get)] #![feature(slice_split_at_unchecked)] #![feature(str_internals)] +#![feature(strict_provenance)] #![feature(utf16_extra)] #![feature(utf16_extra_const)] #![feature(variant_count)] diff --git a/library/core/src/ptr/const_ptr.rs b/library/core/src/ptr/const_ptr.rs index 8a3eee0dc52..af64fbc8e9e 100644 --- a/library/core/src/ptr/const_ptr.rs +++ b/library/core/src/ptr/const_ptr.rs @@ -140,6 +140,7 @@ impl<T: ?Sized> *const T { /// assert_eq!(<*const u8>::from_bits(1), dangling); /// ``` #[unstable(feature = "ptr_to_from_bits", issue = "91126")] + #[allow(fuzzy_provenance_casts)] // this is an unstable and semi-deprecated cast function pub fn from_bits(bits: usize) -> Self where T: Sized, diff --git a/library/core/src/ptr/mod.rs b/library/core/src/ptr/mod.rs index 73923753a30..89b11637eca 100644 --- a/library/core/src/ptr/mod.rs +++ b/library/core/src/ptr/mod.rs @@ -616,6 +616,7 @@ pub const fn invalid_mut<T>(addr: usize) -> *mut T { #[inline] #[unstable(feature = "strict_provenance", issue = "95228")] #[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces +#[allow(fuzzy_provenance_casts)] // this *is* the strict provenance API one should use instead pub fn from_exposed_addr<T>(addr: usize) -> *const T where T: Sized, @@ -653,6 +654,7 @@ where #[inline] #[unstable(feature = "strict_provenance", issue = "95228")] #[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces +#[allow(fuzzy_provenance_casts)] // this *is* the strict provenance API one should use instead pub fn from_exposed_addr_mut<T>(addr: usize) -> *mut T where T: Sized, diff --git a/library/core/src/ptr/mut_ptr.rs b/library/core/src/ptr/mut_ptr.rs index 8472b05ddbd..d6872ba1c20 100644 --- a/library/core/src/ptr/mut_ptr.rs +++ b/library/core/src/ptr/mut_ptr.rs @@ -146,6 +146,7 @@ impl<T: ?Sized> *mut T { /// assert_eq!(<*mut u8>::from_bits(1), dangling); /// ``` #[unstable(feature = "ptr_to_from_bits", issue = "91126")] + #[allow(fuzzy_provenance_casts)] // this is an unstable and semi-deprecated cast function pub fn from_bits(bits: usize) -> Self where T: Sized, diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs index 4c0c0da652f..68f7dcdd5d6 100644 --- a/library/core/tests/lib.rs +++ b/library/core/tests/lib.rs @@ -109,6 +109,7 @@ #![feature(utf8_chunks)] #![feature(is_ascii_octdigit)] #![deny(unsafe_op_in_unsafe_fn)] +#![deny(fuzzy_provenance_casts)] extern crate test; |
