| error: `#[derive(SessionDiagnostic)]` can only be used on structs |
| --> $DIR/session-derive-errors.rs:28:1 |
| | |
| LL | / #[error = "E0123"] |
| LL | | |
| LL | | enum SessionDiagnosticOnEnum { |
| LL | | Foo, |
| LL | | Bar, |
| LL | | } |
| | |_^ |
| |
| error: `#[label = ...]` is not a valid SessionDiagnostic struct attribute |
| --> $DIR/session-derive-errors.rs:37:1 |
| | |
| LL | #[label = "This is in the wrong place"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `#[suggestion = ...]` is not a valid SessionDiagnostic field attribute |
| --> $DIR/session-derive-errors.rs:44:5 |
| | |
| LL | #[suggestion = "this is the wrong kind of attribute"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `error` specified multiple times |
| --> $DIR/session-derive-errors.rs:52:11 |
| | |
| LL | #[error = "E0456"] |
| | ^^^^^^^ |
| |
| error: `lint` specified when `error` was already specified |
| --> $DIR/session-derive-errors.rs:58:10 |
| | |
| LL | #[lint = "some_useful_lint"] |
| | ^^^^^^^^^^^^^^^^^^ |
| |
| error: `code` not specified |
| --> $DIR/session-derive-errors.rs:67:1 |
| | |
| LL | struct ErrorCodeNotProvided {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = help: use the [code = "..."] attribute to set this diagnostic's error code |
| |
| error: the `#[message = "..."]` attribute can only be applied to fields of type Span |
| --> $DIR/session-derive-errors.rs:95:5 |
| | |
| LL | #[message = "this message is applied to a String field"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `name` doesn't refer to a field on this type |
| --> $DIR/session-derive-errors.rs:102:1 |
| | |
| LL | #[message = "This error has a field, and references {name}"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: invalid format string: expected `'}'` but string was terminated |
| --> $DIR/session-derive-errors.rs:110:1 |
| | |
| LL | #[error = "E0123"] |
| | - because of this opening brace |
| LL | #[message = "This is missing a closing brace: {name"] |
| | ^ expected `'}'` in format string |
| | |
| = note: if you intended to print `{`, you can escape it using `{{` |
| = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error: invalid format string: unmatched `}` found |
| --> $DIR/session-derive-errors.rs:119:1 |
| | |
| LL | #[message = "This is missing an opening brace: name}"] |
| | ^ unmatched `}` in format string |
| | |
| = note: if you intended to print `}`, you can escape it using `}}` |
| = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error: The `#[label = ...]` attribute can only be applied to fields of type Span |
| --> $DIR/session-derive-errors.rs:138:5 |
| | |
| LL | #[label = "See here"] |
| | ^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `nonsense` is not a valid key for `#[suggestion(...)]` |
| --> $DIR/session-derive-errors.rs:163:18 |
| | |
| LL | #[suggestion(nonsense = "This is nonsense")] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `msg` is not a valid key for `#[suggestion(...)]` |
| --> $DIR/session-derive-errors.rs:171:18 |
| | |
| LL | #[suggestion(msg = "This is a suggestion")] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: missing suggestion message |
| --> $DIR/session-derive-errors.rs:179:7 |
| | |
| LL | #[suggestion(code = "This is suggested code")] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = help: provide a suggestion message using #[suggestion(message = "...")] |
| |
| error: wrong field type for suggestion |
| --> $DIR/session-derive-errors.rs:194:5 |
| | |
| LL | / #[suggestion(message = "This is a message", code = "This is suggested code")] |
| LL | | |
| LL | | suggestion: Applicability, |
| | |_____________________________^ |
| | |
| = help: #[suggestion(...)] should be applied to fields of type Span or (Span, Applicability) |
| |
| error: type of field annotated with `#[suggestion(...)]` contains more than one Span |
| --> $DIR/session-derive-errors.rs:209:5 |
| | |
| LL | / #[suggestion(message = "This is a message", code = "This is suggested code")] |
| LL | | |
| LL | | suggestion: (Span, Span, Applicability), |
| | |___________________________________________^ |
| |
| error: type of field annotated with `#[suggestion(...)]` contains more than one Applicability |
| --> $DIR/session-derive-errors.rs:217:5 |
| | |
| LL | / #[suggestion(message = "This is a message", code = "This is suggested code")] |
| LL | | |
| LL | | suggestion: (Applicability, Applicability, Span), |
| | |____________________________________________________^ |
| |
| error: invalid annotation list `#[label(...)]` |
| --> $DIR/session-derive-errors.rs:225:7 |
| | |
| LL | #[label("wrong kind of annotation for label")] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: aborting due to 18 previous errors |
| |