| error: malformed `rustc_on_unimplemented` attribute input |
| --> $DIR/bad-annotation.rs:15: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]: cannot find parameter C on this trait |
| --> $DIR/bad-annotation.rs:19:90 |
| | |
| LL | #[rustc_on_unimplemented = "Unimplemented trait error on `{Self}` with params `<{A},{B},{C}>`"] |
| | ^ |
| |
| error[E0231]: positional format arguments are not allowed here |
| --> $DIR/bad-annotation.rs:23:90 |
| | |
| LL | #[rustc_on_unimplemented = "Unimplemented trait error on `{Self}` with params `<{A},{B},{}>`"] |
| | ^ |
| |
| error[E0232]: this attribute must have a value |
| --> $DIR/bad-annotation.rs:27:26 |
| | |
| LL | #[rustc_on_unimplemented(lorem = "")] |
| | ^^^^^^^^^^ expected value here |
| | |
| = note: e.g. `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a value |
| --> $DIR/bad-annotation.rs:33:26 |
| | |
| LL | #[rustc_on_unimplemented(lorem(ipsum(dolor)))] |
| | ^^^^^^^^^^^^^^^^^^^ expected value here |
| | |
| = note: e.g. `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a value |
| --> $DIR/bad-annotation.rs:39:41 |
| | |
| LL | #[rustc_on_unimplemented(message = "x", message = "y")] |
| | ^^^^^^^^^^^^^ expected value here |
| | |
| = note: e.g. `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a value |
| --> $DIR/bad-annotation.rs:45:41 |
| | |
| LL | #[rustc_on_unimplemented(message = "x", on(desugared, message = "y"))] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected value here |
| | |
| = note: e.g. `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: empty `on`-clause in `#[rustc_on_unimplemented]` |
| --> $DIR/bad-annotation.rs:51:26 |
| | |
| LL | #[rustc_on_unimplemented(on(), message = "y")] |
| | ^^^^ empty `on`-clause here |
| |
| error[E0232]: this attribute must have a value |
| --> $DIR/bad-annotation.rs:56:26 |
| | |
| LL | #[rustc_on_unimplemented(on = "x", message = "y")] |
| | ^^^^^^^^ expected value here |
| | |
| = note: e.g. `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: this attribute must have a value |
| --> $DIR/bad-annotation.rs:65:46 |
| | |
| LL | #[rustc_on_unimplemented(on(from_desugaring, on(from_desugaring, message = "x")), message = "y")] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected value here |
| | |
| = note: e.g. `#[rustc_on_unimplemented(message="foo")]` |
| |
| error[E0232]: literals inside `on`-clauses are not supported |
| --> $DIR/bad-annotation.rs:71:29 |
| | |
| LL | #[rustc_on_unimplemented(on("y", message = "y"))] |
| | ^^^ unexpected literal here |
| |
| error[E0232]: literals inside `on`-clauses are not supported |
| --> $DIR/bad-annotation.rs:76:29 |
| | |
| LL | #[rustc_on_unimplemented(on(42, message = "y"))] |
| | ^^ unexpected literal here |
| |
| error[E0232]: expected a single predicate in `not(..)` |
| --> $DIR/bad-annotation.rs:81:33 |
| | |
| LL | #[rustc_on_unimplemented(on(not(a, b), message = "y"))] |
| | ^^^^ unexpected quantity of predicates here |
| |
| error[E0232]: expected a single predicate in `not(..)` |
| --> $DIR/bad-annotation.rs:86:29 |
| | |
| LL | #[rustc_on_unimplemented(on(not(), message = "y"))] |
| | ^^^^^ unexpected quantity of predicates here |
| |
| error[E0232]: expected an identifier inside this `on`-clause |
| --> $DIR/bad-annotation.rs:91:29 |
| | |
| LL | #[rustc_on_unimplemented(on(thing::What, message = "y"))] |
| | ^^^^^^^^^^^ expected an identifier here, not `thing::What` |
| |
| error[E0232]: expected an identifier inside this `on`-clause |
| --> $DIR/bad-annotation.rs:96:29 |
| | |
| LL | #[rustc_on_unimplemented(on(thing::What = "value", message = "y"))] |
| | ^^^^^^^^^^^ expected an identifier here, not `thing::What` |
| |
| error[E0232]: this predicate is invalid |
| --> $DIR/bad-annotation.rs:101:29 |
| | |
| LL | #[rustc_on_unimplemented(on(aaaaaaaaaaaaaa(a, b), message = "y"))] |
| | ^^^^^^^^^^^^^^ expected one of `any`, `all` or `not` here, not `aaaaaaaaaaaaaa` |
| |
| error[E0232]: invalid flag in `on`-clause |
| --> $DIR/bad-annotation.rs:106:29 |
| | |
| LL | #[rustc_on_unimplemented(on(something, message = "y"))] |
| | ^^^^^^^^^ expected one of the `crate_local`, `direct` or `from_desugaring` flags, not `something` |
| |
| error[E0232]: invalid name in `on`-clause |
| --> $DIR/bad-annotation.rs:111:29 |
| | |
| LL | #[rustc_on_unimplemented(on(_Self = "y", message = "y"))] |
| | ^^^^^ expected one of `cause`, `from_desugaring`, `Self` or any generic parameter of the trait, not `_Self` |
| |
| error[E0232]: invalid name in `on`-clause |
| --> $DIR/bad-annotation.rs:116:29 |
| | |
| LL | #[rustc_on_unimplemented(on(abc = "y", message = "y"))] |
| | ^^^ expected one of `cause`, `from_desugaring`, `Self` or any generic parameter of the trait, not `abc` |
| |
| error: aborting due to 20 previous errors |
| |
| Some errors have detailed explanations: E0230, E0231, E0232. |
| For more information about an error, try `rustc --explain E0230`. |