Skip to content

Commit 00354dd

Browse files
committed
remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
1 parent ba6a384 commit 00354dd

File tree

1 file changed

+64
-19
lines changed

1 file changed

+64
-19
lines changed

example/mini_core.rs

+64-19
Original file line numberDiff line numberDiff line change
@@ -616,25 +616,70 @@ pub union MaybeUninit<T> {
616616
}
617617

618618
pub mod intrinsics {
619-
extern "rust-intrinsic" {
620-
#[rustc_safe_intrinsic]
621-
pub fn abort() -> !;
622-
#[rustc_safe_intrinsic]
623-
pub fn size_of<T>() -> usize;
624-
pub fn size_of_val<T: ?::Sized>(val: *const T) -> usize;
625-
#[rustc_safe_intrinsic]
626-
pub fn min_align_of<T>() -> usize;
627-
pub fn min_align_of_val<T: ?::Sized>(val: *const T) -> usize;
628-
pub fn copy<T>(src: *const T, dst: *mut T, count: usize);
629-
pub fn transmute<T, U>(e: T) -> U;
630-
pub fn ctlz_nonzero<T>(x: T) -> u32;
631-
#[rustc_safe_intrinsic]
632-
pub fn needs_drop<T: ?::Sized>() -> bool;
633-
#[rustc_safe_intrinsic]
634-
pub fn bitreverse<T>(x: T) -> T;
635-
#[rustc_safe_intrinsic]
636-
pub fn bswap<T>(x: T) -> T;
637-
pub fn write_bytes<T>(dst: *mut T, val: u8, count: usize);
619+
#[rustc_intrinsic]
620+
#[rustc_intrinsic_must_be_overridden]
621+
pub fn abort() -> ! {
622+
loop {}
623+
}
624+
#[rustc_intrinsic]
625+
#[rustc_intrinsic_must_be_overridden]
626+
pub fn size_of<T>() -> usize {
627+
loop {}
628+
}
629+
#[rustc_intrinsic]
630+
#[rustc_intrinsic_must_be_overridden]
631+
pub unsafe fn size_of_val<T: ?::Sized>(_val: *const T) -> usize {
632+
loop {}
633+
}
634+
#[rustc_intrinsic]
635+
#[rustc_intrinsic_must_be_overridden]
636+
pub fn min_align_of<T>() -> usize {
637+
loop {}
638+
}
639+
#[rustc_intrinsic]
640+
#[rustc_intrinsic_must_be_overridden]
641+
pub unsafe fn min_align_of_val<T: ?::Sized>(_val: *const T) -> usize {
642+
loop {}
643+
}
644+
#[rustc_intrinsic]
645+
#[rustc_intrinsic_must_be_overridden]
646+
pub unsafe fn copy<T>(_src: *const T, _dst: *mut T, _count: usize) {
647+
loop {}
648+
}
649+
#[rustc_intrinsic]
650+
#[rustc_intrinsic_must_be_overridden]
651+
pub unsafe fn transmute<T, U>(_e: T) -> U {
652+
loop {}
653+
}
654+
#[rustc_intrinsic]
655+
#[rustc_intrinsic_must_be_overridden]
656+
pub unsafe fn ctlz_nonzero<T>(_x: T) -> u32 {
657+
loop {}
658+
}
659+
#[rustc_intrinsic]
660+
#[rustc_intrinsic_must_be_overridden]
661+
pub fn needs_drop<T: ?::Sized>() -> bool {
662+
loop {}
663+
}
664+
#[rustc_intrinsic]
665+
#[rustc_intrinsic_must_be_overridden]
666+
pub fn bitreverse<T>(_x: T) -> T {
667+
loop {}
668+
}
669+
#[rustc_intrinsic]
670+
#[rustc_intrinsic_must_be_overridden]
671+
pub fn bswap<T>(_x: T) -> T {
672+
loop {}
673+
}
674+
#[rustc_intrinsic]
675+
#[rustc_intrinsic_must_be_overridden]
676+
pub unsafe fn write_bytes<T>(_dst: *mut T, _val: u8, _count: usize) {
677+
loop {}
678+
}
679+
#[rustc_intrinsic]
680+
#[rustc_intrinsic_must_be_overridden]
681+
pub unsafe fn unreachable() -> ! {
682+
loop {}
638683
}
639684
}
640685

0 commit comments

Comments
 (0)