mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-11 08:05:12 +00:00
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.
23 lines
836 B
Plaintext
23 lines
836 B
Plaintext
error[E0259]: the name `core` is defined multiple times
|
|
--> $DIR/weak-lang-item.rs:9:1
|
|
|
|
|
LL | extern crate core;
|
|
| ^^^^^^^^^^^^^^^^^^ `core` reimported here
|
|
|
|
|
= note: `core` must be defined only once in the type namespace of this module
|
|
help: you can use `as` to change the binding name of the import
|
|
|
|
|
LL | extern crate core as other_core;
|
|
|
|
|
|
|
error: `#[panic_handler]` function required, but not found
|
|
|
|
error: unwinding panics are not supported without std
|
|
|
|
|
= help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
|
|
= note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0259`.
|