Error code E0152
A lang item was redefined.
Erroneous code example:
#![allow(unused)] #![feature(lang_items)] fn main() { #[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:
#![no_std]
See also this section of the Rustonomicon.