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`.
