]> git.lizzy.rs Git - rust.git/blob - src/librustc_error_codes/error_codes/E0232.md
Rollup merge of #62514 - stephaneyfx:box-ffi, r=nikomatsakis
[rust.git] / src / librustc_error_codes / error_codes / E0232.md
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
6 ```compile_fail
7 #![feature(rustc_attrs)]
8
9 fn foo<T: Index<u8>>(x: T){}
10
11 #[rustc_on_unimplemented = "the type `{Self}` cannot be indexed by `{Idx}`"]
12 trait Index<Idx> { /* ... */ }
13
14 foo(true); // `bool` does not implement `Index<u8>`
15 ```
16
17 there will be an error about `bool` not implementing `Index<u8>`, followed by a
18 note saying "the type `bool` cannot be indexed by `u8`".
19
20 For this to work, some note must be specified. An empty attribute will not do
21 anything, please remove the attribute or add some helpful note for users of the
22 trait.