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:
#![feature(rustc_attrs)] #![allow(internal_features)] #[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.