1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#![no_std] #![cfg_attr(feature = "nightly", feature(core_intrinsics))] //! Abnormal termination: see [`abort`]. /// Abnormally terminate the process. #[inline(always)] pub fn abort() -> ! { a() } #[cfg(feature = "nightly")] #[inline(always)] fn a() -> ! { core::intrinsics::abort() } #[cfg(not(feature = "nightly"))] #[inline(always)] fn a() -> ! { struct A; impl Drop for A { #[inline(always)] fn drop(&mut self) { panic!() } } let _a = A; panic!() }