| error: malformed `rustc_on_unimplemented` attribute input |
| --> $DIR/bad-annotation.rs:17:1 |
| | |
| LL | #[rustc_on_unimplemented] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: the following are the possible correct uses |
| | |
| LL | #[rustc_on_unimplemented = "message"] |
| | |
| LL | #[rustc_on_unimplemented(/*opt*/ message = "...", /*opt*/ label = "...", /*opt*/ note = "...")] |
| | |
| |
| error[E0230]: there is no parameter `C` on trait `BadAnnotation2` |
| --> $DIR/bad-annotation.rs:22:1 |
| | |
| LL | #[rustc_on_unimplemented = "Unimplemented trait error on `{Self}` with params `<{A},{B},{C}>`"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0231]: only named generic parameters are allowed |
| --> $DIR/bad-annotation.rs:27:1 |
| | |
| LL | #[rustc_on_unimplemented = "Unimplemented trait error on `{Self}` with params `<{A},{B},{}>`"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0232]: this attribute must have a valid value |
| --> $DIR/bad-annotation.rs:32:26 |
| | |
| LL | #[rustc_on_unimplemented(lorem="")] |
| | ^^^^^^^^ expected value here |
| | |
| = note: eg `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a valid value |
| --> $DIR/bad-annotation.rs:36:26 |
| | |
| LL | #[rustc_on_unimplemented(lorem(ipsum(dolor)))] |
| | ^^^^^^^^^^^^^^^^^^^ expected value here |
| | |
| = note: eg `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a valid value |
| --> $DIR/bad-annotation.rs:40:39 |
| | |
| LL | #[rustc_on_unimplemented(message="x", message="y")] |
| | ^^^^^^^^^^^ expected value here |
| | |
| = note: eg `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a valid value |
| --> $DIR/bad-annotation.rs:44:39 |
| | |
| LL | #[rustc_on_unimplemented(message="x", on(desugared, message="y"))] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected value here |
| | |
| = note: eg `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: empty `on`-clause in `#[rustc_on_unimplemented]` |
| --> $DIR/bad-annotation.rs:48:26 |
| | |
| LL | #[rustc_on_unimplemented(on(), message="y")] |
| | ^^^^ empty on-clause here |
| |
| error[E0232]: this attribute must have a valid value |
| --> $DIR/bad-annotation.rs:52:26 |
| | |
| LL | #[rustc_on_unimplemented(on="x", message="y")] |
| | ^^^^^^ expected value here |
| | |
| = note: eg `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a valid value |
| --> $DIR/bad-annotation.rs:59:40 |
| | |
| LL | #[rustc_on_unimplemented(on(desugared, on(desugared, message="x")), message="y")] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected value here |
| | |
| = note: eg `#[rustc_on_unimplemented(message="foo")]` |
| |
| error: aborting due to 10 previous errors |
| |
| Some errors have detailed explanations: E0230, E0231, E0232. |
| For more information about an error, try `rustc --explain E0230`. |