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.