2023-04-20 14:37:15 +00:00
|
|
|
//@run-rustfix
|
2021-12-26 09:00:29 +00:00
|
|
|
#![warn(clippy::missing_spin_loop)]
|
|
|
|
#![feature(lang_items, start, libc)]
|
|
|
|
#![no_std]
|
|
|
|
|
|
|
|
use core::sync::atomic::{AtomicBool, Ordering};
|
|
|
|
|
|
|
|
#[start]
|
|
|
|
fn main(_argc: isize, _argv: *const *const u8) -> isize {
|
|
|
|
// This should trigger the lint
|
|
|
|
let b = AtomicBool::new(true);
|
|
|
|
// This should lint with `core::hint::spin_loop()`
|
|
|
|
while b.load(Ordering::Acquire) { core::hint::spin_loop() }
|
|
|
|
0
|
|
|
|
}
|
|
|
|
|
|
|
|
#[panic_handler]
|
|
|
|
fn panic(_info: &core::panic::PanicInfo) -> ! {
|
|
|
|
loop {}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[lang = "eh_personality"]
|
|
|
|
extern "C" fn eh_personality() {}
|