Error code E0152

A lang item was redefined.

Erroneous code example:


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:


See also this section of the Rustonomicon.