about summary refs log tree commit diff
path: root/compiler/rustc_error_codes/src/error_codes/E0522.md
blob: b0dd5a775ac143e2572f92f8ac84d0554a924490 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
The lang attribute was used in an invalid context.

Erroneous code example:

```compile_fail,E0522
#![feature(lang_items)]

#[lang = "cookie"]
fn cookie() -> ! { // error: definition of an unknown lang item: `cookie`
    loop {}
}
```

The lang attribute is intended for marking special items that are built-in to
Rust itself. This includes special traits (like `Copy` and `Sized`) that affect
how the compiler behaves, as well as special functions that may be automatically
invoked (such as the handler for out-of-bounds accesses when indexing a slice).