From 4fd0dc10500bd0080a73d4b971865bc81ee74fcc Mon Sep 17 00:00:00 2001 From: Folkert de Vries Date: Sun, 16 Nov 2025 13:13:18 +0100 Subject: [PATCH] move `NonNull` into `minicore` --- tests/auxiliary/minicore.rs | 18 ++++++++++++++++++ tests/ui/abi/compatibility.rs | 18 ------------------ .../cmse-nonsecure-entry/c-variadic.rs | 3 +-- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/tests/auxiliary/minicore.rs b/tests/auxiliary/minicore.rs index a974dee8a838..288a5b50dd5e 100644 --- a/tests/auxiliary/minicore.rs +++ b/tests/auxiliary/minicore.rs @@ -119,6 +119,24 @@ pub struct ManuallyDrop { } impl Copy for ManuallyDrop {} +#[repr(transparent)] +#[rustc_layout_scalar_valid_range_start(1)] +#[rustc_nonnull_optimization_guaranteed] +pub struct NonNull { + pointer: *const T, +} +impl Copy for NonNull {} + +#[repr(transparent)] +#[rustc_layout_scalar_valid_range_start(1)] +#[rustc_nonnull_optimization_guaranteed] +pub struct NonZero(T); + +pub struct Unique { + pub pointer: NonNull, + pub _marker: PhantomData, +} + #[lang = "unsafe_cell"] #[repr(transparent)] pub struct UnsafeCell { diff --git a/tests/ui/abi/compatibility.rs b/tests/ui/abi/compatibility.rs index 350b98191cf5..1bd032e877a8 100644 --- a/tests/ui/abi/compatibility.rs +++ b/tests/ui/abi/compatibility.rs @@ -87,19 +87,6 @@ mod prelude { fn clone(&self) -> Self; } - #[repr(transparent)] - #[rustc_layout_scalar_valid_range_start(1)] - #[rustc_nonnull_optimization_guaranteed] - pub struct NonNull { - pointer: *const T, - } - impl Copy for NonNull {} - - #[repr(transparent)] - #[rustc_layout_scalar_valid_range_start(1)] - #[rustc_nonnull_optimization_guaranteed] - pub struct NonZero(T); - // This just stands in for a non-trivial type. pub struct Vec { ptr: NonNull, @@ -107,11 +94,6 @@ mod prelude { len: usize, } - pub struct Unique { - pub pointer: NonNull, - pub _marker: PhantomData, - } - #[lang = "global_alloc_ty"] pub struct Global; diff --git a/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs b/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs index d921f5cff627..d4a6c1fa07c1 100644 --- a/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs +++ b/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs @@ -31,9 +31,8 @@ async unsafe extern "cmse-nonsecure-entry" fn async_is_not_allowed() { // this file, but they may be moved into `minicore` if/when other `#[no_core]` tests want to use // them. -// NOTE: in `core` this type uses `NonNull`. #[lang = "ResumeTy"] -pub struct ResumeTy(*mut Context<'static>); +pub struct ResumeTy(NonNull>); #[lang = "future_trait"] pub trait Future {