| 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). |