da26317a8a
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.
14 lines
301 B
Rust
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() {}
|