| A lang item was redefined. |
| |
| Erroneous code example: |
| |
| ```compile_fail,E0152 |
| #![feature(lang_items)] |
| |
| #[lang = "owned_box"] |
| struct Foo<T>(T); // error: duplicate lang item found: `owned_box` |
| ``` |
| |
| Lang items are already implemented in the standard library. Unless you are |
| writing a free-standing application (e.g., a kernel), you do not need to provide |
| them yourself. |
| |
| You can build a free-standing crate by adding `#![no_std]` to the crate |
| attributes: |
| |
| ```ignore (only-for-syntax-highlight) |
| #![no_std] |
| ``` |
| |
| See also the [unstable book][1]. |
| |
| [1]: https://doc.rust-lang.org/unstable-book/language-features/lang-items.html#writing-an-executable-without-stdlib |