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.
13 lines
350 B
Rust
13 lines
350 B
Rust
// aux-build:weak-lang-items.rs
|
|
// error-pattern: `#[panic_handler]` function required, but not found
|
|
// error-pattern: unwinding panics are not supported without std
|
|
// needs-unwind since it affects the error output
|
|
// ignore-emscripten missing eh_catch_typeinfo lang item
|
|
|
|
#![no_std]
|
|
|
|
extern crate core;
|
|
extern crate weak_lang_items;
|
|
|
|
fn main() {}
|