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.