## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Error code E0232

The `#[rustc_on_unimplemented]` attribute lets you specify a custom error message for when a particular trait isn’t implemented on a type placed in a position that needs that trait. For example, when the following code is compiled:

    #![allow(unused)]
    #![feature(rustc_attrs)]
    #![allow(internal_features)]

    fn main() {
    #[rustc_on_unimplemented(lorem="")] // error!
    trait BadAnnotation {}
    }

there will be an error about `bool` not implementing `Index<u8>`, followed by a note saying “the type `bool` cannot be indexed by `u8`”.

For this to work, some note must be specified. An empty attribute will not do anything, please remove the attribute or add some helpful note for users of the trait.