## 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. The attribute will let you filter on various types, with `on`:

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

    fn main() {
    #[rustc_on_unimplemented(on(blah, message = "foo"))] // error!
    trait BadAnnotation {}
    }

For this to work a cfg-like predicate must be supplied. A malformed filter will not do anything.