]>
Commit | Line | Data |
---|---|---|
60c5eb7d XL |
1 | The `#[rustc_on_unimplemented]` attribute lets you specify a custom error |
2 | message for when a particular trait isn't implemented on a type placed in a | |
3 | position that needs that trait. For example, when the following code is | |
4 | compiled: | |
5 | ||
f9f354fc | 6 | ```compile_fail,E0232 |
60c5eb7d XL |
7 | #![feature(rustc_attrs)] |
8 | ||
f9f354fc XL |
9 | #[rustc_on_unimplemented(lorem="")] // error! |
10 | trait BadAnnotation {} | |
60c5eb7d XL |
11 | ``` |
12 | ||
13 | there will be an error about `bool` not implementing `Index<u8>`, followed by a | |
14 | note saying "the type `bool` cannot be indexed by `u8`". | |
15 | ||
16 | For this to work, some note must be specified. An empty attribute will not do | |
17 | anything, please remove the attribute or add some helpful note for users of the | |
18 | trait. |