diff options
| author | Ralf Jung <post@ralfj.de> | 2024-11-07 08:59:43 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2024-11-08 09:16:00 +0100 |
| commit | 00354ddaa69a9e4f67efa626cd1488efb03db1ba (patch) | |
| tree | 08802a720bddeb74bd40b7e23dac056d40a08398 | |
| parent | ba6a38495f993253ec7b53e4f06aba8c498ff29f (diff) | |
| download | rust-00354ddaa69a9e4f67efa626cd1488efb03db1ba.tar.gz rust-00354ddaa69a9e4f67efa626cd1488efb03db1ba.zip | |
remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
| -rw-r--r-- | example/mini_core.rs | 83 |
1 files changed, 64 insertions, 19 deletions
diff --git a/example/mini_core.rs b/example/mini_core.rs index 42c7f5f0dc6..3da215fe6c0 100644 --- a/example/mini_core.rs +++ b/example/mini_core.rs @@ -616,25 +616,70 @@ pub union MaybeUninit<T> { } pub mod intrinsics { - extern "rust-intrinsic" { - #[rustc_safe_intrinsic] - pub fn abort() -> !; - #[rustc_safe_intrinsic] - pub fn size_of<T>() -> usize; - pub fn size_of_val<T: ?::Sized>(val: *const T) -> usize; - #[rustc_safe_intrinsic] - pub fn min_align_of<T>() -> usize; - pub fn min_align_of_val<T: ?::Sized>(val: *const T) -> usize; - pub fn copy<T>(src: *const T, dst: *mut T, count: usize); - pub fn transmute<T, U>(e: T) -> U; - pub fn ctlz_nonzero<T>(x: T) -> u32; - #[rustc_safe_intrinsic] - pub fn needs_drop<T: ?::Sized>() -> bool; - #[rustc_safe_intrinsic] - pub fn bitreverse<T>(x: T) -> T; - #[rustc_safe_intrinsic] - pub fn bswap<T>(x: T) -> T; - pub fn write_bytes<T>(dst: *mut T, val: u8, count: usize); + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub fn abort() -> ! { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub fn size_of<T>() -> usize { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn size_of_val<T: ?::Sized>(_val: *const T) -> usize { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub fn min_align_of<T>() -> usize { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn min_align_of_val<T: ?::Sized>(_val: *const T) -> usize { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn copy<T>(_src: *const T, _dst: *mut T, _count: usize) { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn transmute<T, U>(_e: T) -> U { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn ctlz_nonzero<T>(_x: T) -> u32 { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub fn needs_drop<T: ?::Sized>() -> bool { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub fn bitreverse<T>(_x: T) -> T { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub fn bswap<T>(_x: T) -> T { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn write_bytes<T>(_dst: *mut T, _val: u8, _count: usize) { + loop {} + } + #[rustc_intrinsic] + #[rustc_intrinsic_must_be_overridden] + pub unsafe fn unreachable() -> ! { + loop {} } } |
