rust/tests/ui/no_std/no-std-no-start-binary.rs
Nilstrieb da26317a8a Stop mentioning internal lang items in no_std binary errors
When writing a no_std binary, you'll be greeted with nonsensical errors
mentioning lang items like eh_personality and start. That's pretty bad
because it makes you think that you need to define them somewhere! But
oh no, now you're getting the `internal_features` lint telling you that
you shouldn't use them! But you need a no_std binary! What now?

No problem! Writing a no_std binary is super easy. Just use panic=abort
and supply your own platform specific entrypoint symbol (like `main`)
and you're good to go. Would be nice if the compiler told you that,
right?

This makes it so that it does do that.
2024-01-10 21:18:54 +01:00

14 lines
301 B
Rust

// compile-flags: -Cpanic=abort --emit link
// error-pattern:using `fn main` requires the standard library
// Make sure that we don't emit an error message mentioning internal lang items.
#![no_std]
#[panic_handler]
fn handler(_info: &core::panic::PanicInfo<'_>) -> ! {
loop {}
}
fn main() {}