1
Fork 0

fix errors

This commit is contained in:
Deadbeef 2023-04-03 15:11:30 +00:00
parent fc01b4b63c
commit 25fdea009e
5 changed files with 113 additions and 105 deletions

View file

@ -422,6 +422,7 @@ impl<'parent, 'a> SubdiagnosticDeriveVariantBuilder<'parent, 'a> {
list.parse_nested_meta(|nested| { list.parse_nested_meta(|nested| {
if nested.path.is_ident("code") { if nested.path.is_ident("code") {
let code_field = new_code_ident(); let code_field = new_code_ident();
let span = nested.path.span().unwrap();
let formatting_init = build_suggestion_code( let formatting_init = build_suggestion_code(
&code_field, &code_field,
nested, nested,

View file

@ -727,7 +727,7 @@ impl SubdiagnosticKind {
fields, fields,
AllowMultipleAlternatives::Yes, AllowMultipleAlternatives::Yes,
); );
code.set_once(code_init, span); code.set_once(code_init, path_span);
} }
( (
"applicability", "applicability",

View file

@ -435,16 +435,16 @@ LL | | struct LintAttributeOnLintDiag {}
= help: specify the slug as the first argument to the attribute, such as `#[diag(compiletest_example)]` = help: specify the slug as the first argument to the attribute, such as `#[diag(compiletest_example)]`
error: specified multiple times error: specified multiple times
--> $DIR/diagnostic-derive.rs:608:5 --> $DIR/diagnostic-derive.rs:608:53
| |
LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")] LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/diagnostic-derive.rs:608:5 --> $DIR/diagnostic-derive.rs:608:39
| |
LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")] LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^
error: wrong types for suggestion error: wrong types for suggestion
--> $DIR/diagnostic-derive.rs:617:24 --> $DIR/diagnostic-derive.rs:617:24

View file

@ -82,7 +82,7 @@ struct F {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(bug = "...")] #[label(bug = "...")]
//~^ ERROR `#[label(bug = ...)]` is not a valid attribute //~^ ERROR invalid nested attribute
//~| ERROR diagnostic slug must be first argument //~| ERROR diagnostic slug must be first argument
struct G { struct G {
#[primary_span] #[primary_span]
@ -92,8 +92,7 @@ struct G {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label("...")] #[label("...")]
//~^ ERROR `#[label("...")]` is not a valid attribute //~^ ERROR unexpected literal in nested attribute, expected ident
//~| ERROR diagnostic slug must be first argument
struct H { struct H {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -102,7 +101,7 @@ struct H {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(slug = 4)] #[label(slug = 4)]
//~^ ERROR `#[label(slug = ...)]` is not a valid attribute //~^ ERROR invalid nested attribute
//~| ERROR diagnostic slug must be first argument //~| ERROR diagnostic slug must be first argument
struct J { struct J {
#[primary_span] #[primary_span]
@ -112,7 +111,7 @@ struct J {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(slug("..."))] #[label(slug("..."))]
//~^ ERROR `#[label(slug(...))]` is not a valid attribute //~^ ERROR invalid nested attribute
//~| ERROR diagnostic slug must be first argument //~| ERROR diagnostic slug must be first argument
struct K { struct K {
#[primary_span] #[primary_span]
@ -132,7 +131,7 @@ struct L {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label()] #[label()]
//~^ ERROR diagnostic slug must be first argument of a `#[label(...)]` attribute //~^ ERROR unexpected end of input, unexpected token in nested attribute, expected ident
struct M { struct M {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -141,7 +140,7 @@ struct M {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(no_crate_example, code = "...")] #[label(no_crate_example, code = "...")]
//~^ ERROR `#[label(code = ...)]` is not a valid attribute //~^ ERROR invalid nested attribute
struct N { struct N {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -150,7 +149,7 @@ struct N {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(no_crate_example, applicability = "machine-applicable")] #[label(no_crate_example, applicability = "machine-applicable")]
//~^ ERROR `#[label(applicability = ...)]` is not a valid attribute //~^ ERROR invalid nested attribute
struct O { struct O {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -222,7 +221,7 @@ enum T {
enum U { enum U {
#[label(code = "...")] #[label(code = "...")]
//~^ ERROR diagnostic slug must be first argument of a `#[label(...)]` attribute //~^ ERROR diagnostic slug must be first argument of a `#[label(...)]` attribute
//~| ERROR `#[label(code = ...)]` is not a valid attribute //~| ERROR invalid nested attribute
A { A {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -323,7 +322,7 @@ struct AD {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(no_crate_example, no_crate::example)] #[label(no_crate_example, no_crate::example)]
//~^ ERROR `#[label(no_crate::example)]` is not a valid attribute //~^ ERROR a diagnostic slug must be the first argument to the attribute
struct AE { struct AE {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -537,7 +536,7 @@ struct BA {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")] #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
//~^ ERROR multipart suggestion without any `#[suggestion_part(...)]` fields //~^ ERROR multipart suggestion without any `#[suggestion_part(...)]` fields
//~| ERROR `#[multipart_suggestion(code = ...)]` is not a valid attribute //~| ERROR invalid nested attribute
struct BBa { struct BBa {
var: String, var: String,
} }
@ -554,7 +553,7 @@ struct BBb {
#[multipart_suggestion(no_crate_example, applicability = "machine-applicable")] #[multipart_suggestion(no_crate_example, applicability = "machine-applicable")]
struct BBc { struct BBc {
#[suggestion_part()] #[suggestion_part()]
//~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."` //~^ ERROR unexpected end of input, unexpected token in nested attribute, expected ident
span1: Span, span1: Span,
} }
@ -574,10 +573,11 @@ struct BD {
//~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."` //~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."`
span1: Span, span1: Span,
#[suggestion_part()] #[suggestion_part()]
//~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."` //~^ ERROR unexpected end of input, unexpected token in nested attribute, expected ident
span2: Span, span2: Span,
#[suggestion_part(foo = "bar")] #[suggestion_part(foo = "bar")]
//~^ ERROR `#[suggestion_part(foo = ...)]` is not a valid attribute //~^ ERROR `code` is the only valid nested attribute
//~| ERROR expected `,`
span4: Span, span4: Span,
#[suggestion_part(code = "...")] #[suggestion_part(code = "...")]
//~^ ERROR the `#[suggestion_part(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan` //~^ ERROR the `#[suggestion_part(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
@ -669,6 +669,7 @@ enum BL {
struct BM { struct BM {
#[suggestion_part(code("foo"))] #[suggestion_part(code("foo"))]
//~^ ERROR expected exactly one string literal for `code = ...` //~^ ERROR expected exactly one string literal for `code = ...`
//~| ERROR unexpected token
span: Span, span: Span,
r#type: String, r#type: String,
} }
@ -678,6 +679,7 @@ struct BM {
struct BN { struct BN {
#[suggestion_part(code("foo", "bar"))] #[suggestion_part(code("foo", "bar"))]
//~^ ERROR expected exactly one string literal for `code = ...` //~^ ERROR expected exactly one string literal for `code = ...`
//~| ERROR unexpected token
span: Span, span: Span,
r#type: String, r#type: String,
} }
@ -687,6 +689,7 @@ struct BN {
struct BO { struct BO {
#[suggestion_part(code(3))] #[suggestion_part(code(3))]
//~^ ERROR expected exactly one string literal for `code = ...` //~^ ERROR expected exactly one string literal for `code = ...`
//~| ERROR unexpected token
span: Span, span: Span,
r#type: String, r#type: String,
} }
@ -701,10 +704,13 @@ struct BP {
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
//~^ ERROR cannot find value `__code_29` in this scope
//~| NOTE in this expansion
//~| NOTE not found in this scope
#[multipart_suggestion(no_crate_example)] #[multipart_suggestion(no_crate_example)]
struct BQ { struct BQ {
#[suggestion_part(code = 3)] #[suggestion_part(code = 3)]
//~^ ERROR `code = "..."`/`code(...)` must contain only string literals //~^ ERROR expected string literal
span: Span, span: Span,
r#type: String, r#type: String,
} }
@ -779,7 +785,7 @@ struct SuggestionStyleInvalid1 {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(no_crate_example, code = "", style = 42)] #[suggestion(no_crate_example, code = "", style = 42)]
//~^ ERROR `#[suggestion(style = ...)]` is not a valid attribute //~^ ERROR expected `= "xxx"`
struct SuggestionStyleInvalid2 { struct SuggestionStyleInvalid2 {
#[primary_span] #[primary_span]
sub: Span, sub: Span,
@ -787,7 +793,7 @@ struct SuggestionStyleInvalid2 {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(no_crate_example, code = "", style)] #[suggestion(no_crate_example, code = "", style)]
//~^ ERROR `#[suggestion(style)]` is not a valid attribute //~^ ERROR a diagnostic slug must be the first argument to the attribute
struct SuggestionStyleInvalid3 { struct SuggestionStyleInvalid3 {
#[primary_span] #[primary_span]
sub: Span, sub: Span,
@ -795,7 +801,8 @@ struct SuggestionStyleInvalid3 {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(no_crate_example, code = "", style("foo"))] #[suggestion(no_crate_example, code = "", style("foo"))]
//~^ ERROR `#[suggestion(style(...))]` is not a valid attribute //~^ ERROR expected `= "xxx"`
//~| ERROr expected `,`
struct SuggestionStyleInvalid4 { struct SuggestionStyleInvalid4 {
#[primary_span] #[primary_span]
sub: Span, sub: Span,

View file

@ -45,97 +45,97 @@ LL | #[label("...")]
| ^^^^^ | ^^^^^
error: invalid nested attribute error: invalid nested attribute
--> $DIR/subdiagnostic-derive.rs:104:9 --> $DIR/subdiagnostic-derive.rs:103:9
| |
LL | #[label(slug = 4)] LL | #[label(slug = 4)]
| ^^^^ | ^^^^
error: diagnostic slug must be first argument of a `#[label(...)]` attribute error: diagnostic slug must be first argument of a `#[label(...)]` attribute
--> $DIR/subdiagnostic-derive.rs:104:1 --> $DIR/subdiagnostic-derive.rs:103:1
| |
LL | #[label(slug = 4)] LL | #[label(slug = 4)]
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
error: invalid nested attribute error: invalid nested attribute
--> $DIR/subdiagnostic-derive.rs:114:9 --> $DIR/subdiagnostic-derive.rs:113:9
| |
LL | #[label(slug("..."))] LL | #[label(slug("..."))]
| ^^^^ | ^^^^
error: diagnostic slug must be first argument of a `#[label(...)]` attribute error: diagnostic slug must be first argument of a `#[label(...)]` attribute
--> $DIR/subdiagnostic-derive.rs:114:1 --> $DIR/subdiagnostic-derive.rs:113:1
| |
LL | #[label(slug("..."))] LL | #[label(slug("..."))]
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
error: unexpected end of input, unexpected token in nested attribute, expected ident error: unexpected end of input, unexpected token in nested attribute, expected ident
--> $DIR/subdiagnostic-derive.rs:134:9 --> $DIR/subdiagnostic-derive.rs:133:9
| |
LL | #[label()] LL | #[label()]
| ^ | ^
error: invalid nested attribute error: invalid nested attribute
--> $DIR/subdiagnostic-derive.rs:143:27 --> $DIR/subdiagnostic-derive.rs:142:27
| |
LL | #[label(no_crate_example, code = "...")] LL | #[label(no_crate_example, code = "...")]
| ^^^^ | ^^^^
error: invalid nested attribute error: invalid nested attribute
--> $DIR/subdiagnostic-derive.rs:152:27 --> $DIR/subdiagnostic-derive.rs:151:27
| |
LL | #[label(no_crate_example, applicability = "machine-applicable")] LL | #[label(no_crate_example, applicability = "machine-applicable")]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
error: unsupported type attribute for subdiagnostic enum error: unsupported type attribute for subdiagnostic enum
--> $DIR/subdiagnostic-derive.rs:161:1 --> $DIR/subdiagnostic-derive.rs:160:1
| |
LL | #[foo] LL | #[foo]
| ^^^^^^ | ^^^^^^
error: `#[bar]` is not a valid attribute error: `#[bar]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:175:5 --> $DIR/subdiagnostic-derive.rs:174:5
| |
LL | #[bar] LL | #[bar]
| ^^^^^^ | ^^^^^^
error: `#[bar = ...]` is not a valid attribute error: `#[bar = ...]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:187:5 --> $DIR/subdiagnostic-derive.rs:186:5
| |
LL | #[bar = "..."] LL | #[bar = "..."]
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
error: `#[bar = ...]` is not a valid attribute error: `#[bar = ...]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:199:5 --> $DIR/subdiagnostic-derive.rs:198:5
| |
LL | #[bar = 4] LL | #[bar = 4]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: `#[bar(...)]` is not a valid attribute error: `#[bar(...)]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:211:5 --> $DIR/subdiagnostic-derive.rs:210:5
| |
LL | #[bar("...")] LL | #[bar("...")]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
error: invalid nested attribute error: invalid nested attribute
--> $DIR/subdiagnostic-derive.rs:223:13 --> $DIR/subdiagnostic-derive.rs:222:13
| |
LL | #[label(code = "...")] LL | #[label(code = "...")]
| ^^^^ | ^^^^
error: diagnostic slug must be first argument of a `#[label(...)]` attribute error: diagnostic slug must be first argument of a `#[label(...)]` attribute
--> $DIR/subdiagnostic-derive.rs:223:5 --> $DIR/subdiagnostic-derive.rs:222:5
| |
LL | #[label(code = "...")] LL | #[label(code = "...")]
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
error: the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan` error: the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan`
--> $DIR/subdiagnostic-derive.rs:252:5 --> $DIR/subdiagnostic-derive.rs:251:5
| |
LL | #[primary_span] LL | #[primary_span]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
error: label without `#[primary_span]` field error: label without `#[primary_span]` field
--> $DIR/subdiagnostic-derive.rs:249:1 --> $DIR/subdiagnostic-derive.rs:248:1
| |
LL | / #[label(no_crate_example)] LL | / #[label(no_crate_example)]
LL | | LL | |
@ -147,13 +147,13 @@ LL | | }
| |_^ | |_^
error: `#[applicability]` is only valid on suggestions error: `#[applicability]` is only valid on suggestions
--> $DIR/subdiagnostic-derive.rs:262:5 --> $DIR/subdiagnostic-derive.rs:261:5
| |
LL | #[applicability] LL | #[applicability]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
error: `#[bar]` is not a valid attribute error: `#[bar]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:272:5 --> $DIR/subdiagnostic-derive.rs:271:5
| |
LL | #[bar] LL | #[bar]
| ^^^^^^ | ^^^^^^
@ -161,13 +161,13 @@ LL | #[bar]
= help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes = help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes
error: `#[bar = ...]` is not a valid attribute error: `#[bar = ...]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:283:5 --> $DIR/subdiagnostic-derive.rs:282:5
| |
LL | #[bar = "..."] LL | #[bar = "..."]
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
error: `#[bar(...)]` is not a valid attribute error: `#[bar(...)]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:294:5 --> $DIR/subdiagnostic-derive.rs:293:5
| |
LL | #[bar("...")] LL | #[bar("...")]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
@ -175,7 +175,7 @@ LL | #[bar("...")]
= help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes = help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes
error: unexpected unsupported untagged union error: unexpected unsupported untagged union
--> $DIR/subdiagnostic-derive.rs:310:1 --> $DIR/subdiagnostic-derive.rs:309:1
| |
LL | / union AC { LL | / union AC {
LL | | LL | |
@ -185,73 +185,73 @@ LL | | }
| |_^ | |_^
error: a diagnostic slug must be the first argument to the attribute error: a diagnostic slug must be the first argument to the attribute
--> $DIR/subdiagnostic-derive.rs:325:44 --> $DIR/subdiagnostic-derive.rs:324:44
| |
LL | #[label(no_crate_example, no_crate::example)] LL | #[label(no_crate_example, no_crate::example)]
| ^ | ^
error: specified multiple times error: specified multiple times
--> $DIR/subdiagnostic-derive.rs:338:5 --> $DIR/subdiagnostic-derive.rs:337:5
| |
LL | #[primary_span] LL | #[primary_span]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/subdiagnostic-derive.rs:335:5 --> $DIR/subdiagnostic-derive.rs:334:5
| |
LL | #[primary_span] LL | #[primary_span]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
error: subdiagnostic kind not specified error: subdiagnostic kind not specified
--> $DIR/subdiagnostic-derive.rs:344:8 --> $DIR/subdiagnostic-derive.rs:343:8
| |
LL | struct AG { LL | struct AG {
| ^^ | ^^
error: specified multiple times error: specified multiple times
--> $DIR/subdiagnostic-derive.rs:381:1 --> $DIR/subdiagnostic-derive.rs:380:46
| |
LL | #[suggestion(no_crate_example, code = "...", code = "...")] LL | #[suggestion(no_crate_example, code = "...", code = "...")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/subdiagnostic-derive.rs:381:1 --> $DIR/subdiagnostic-derive.rs:380:32
| |
LL | #[suggestion(no_crate_example, code = "...", code = "...")] LL | #[suggestion(no_crate_example, code = "...", code = "...")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^
error: specified multiple times error: specified multiple times
--> $DIR/subdiagnostic-derive.rs:399:5 --> $DIR/subdiagnostic-derive.rs:398:5
| |
LL | #[applicability] LL | #[applicability]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/subdiagnostic-derive.rs:396:5 --> $DIR/subdiagnostic-derive.rs:395:5
| |
LL | #[applicability] LL | #[applicability]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
error: the `#[applicability]` attribute can only be applied to fields of type `Applicability` error: the `#[applicability]` attribute can only be applied to fields of type `Applicability`
--> $DIR/subdiagnostic-derive.rs:409:5 --> $DIR/subdiagnostic-derive.rs:408:5
| |
LL | #[applicability] LL | #[applicability]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
error: suggestion without `code = "..."` error: suggestion without `code = "..."`
--> $DIR/subdiagnostic-derive.rs:422:1 --> $DIR/subdiagnostic-derive.rs:421:1
| |
LL | #[suggestion(no_crate_example)] LL | #[suggestion(no_crate_example)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: invalid applicability error: invalid applicability
--> $DIR/subdiagnostic-derive.rs:432:62 --> $DIR/subdiagnostic-derive.rs:431:62
| |
LL | #[suggestion(no_crate_example, code = "...", applicability = "foo")] LL | #[suggestion(no_crate_example, code = "...", applicability = "foo")]
| ^^^^^ | ^^^^^
error: suggestion without `#[primary_span]` field error: suggestion without `#[primary_span]` field
--> $DIR/subdiagnostic-derive.rs:450:1 --> $DIR/subdiagnostic-derive.rs:449:1
| |
LL | / #[suggestion(no_crate_example, code = "...")] LL | / #[suggestion(no_crate_example, code = "...")]
LL | | LL | |
@ -261,25 +261,25 @@ LL | | }
| |_^ | |_^
error: unsupported type attribute for subdiagnostic enum error: unsupported type attribute for subdiagnostic enum
--> $DIR/subdiagnostic-derive.rs:464:1 --> $DIR/subdiagnostic-derive.rs:463:1
| |
LL | #[label] LL | #[label]
| ^^^^^^^^ | ^^^^^^^^
error: `var` doesn't refer to a field on this type error: `var` doesn't refer to a field on this type
--> $DIR/subdiagnostic-derive.rs:484:39 --> $DIR/subdiagnostic-derive.rs:483:39
| |
LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")] LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")]
| ^^^^^^^ | ^^^^^^^
error: `var` doesn't refer to a field on this type error: `var` doesn't refer to a field on this type
--> $DIR/subdiagnostic-derive.rs:503:43 --> $DIR/subdiagnostic-derive.rs:502:43
| |
LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")] LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")]
| ^^^^^^^ | ^^^^^^^
error: `#[suggestion_part]` is not a valid attribute error: `#[suggestion_part]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:526:5 --> $DIR/subdiagnostic-derive.rs:525:5
| |
LL | #[suggestion_part] LL | #[suggestion_part]
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
@ -287,7 +287,7 @@ LL | #[suggestion_part]
= help: `#[suggestion_part(...)]` is only valid in multipart suggestions, use `#[primary_span]` instead = help: `#[suggestion_part(...)]` is only valid in multipart suggestions, use `#[primary_span]` instead
error: `#[suggestion_part(...)]` is not a valid attribute error: `#[suggestion_part(...)]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:529:5 --> $DIR/subdiagnostic-derive.rs:528:5
| |
LL | #[suggestion_part(code = "...")] LL | #[suggestion_part(code = "...")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -295,7 +295,7 @@ LL | #[suggestion_part(code = "...")]
= help: `#[suggestion_part(...)]` is only valid in multipart suggestions = help: `#[suggestion_part(...)]` is only valid in multipart suggestions
error: suggestion without `#[primary_span]` field error: suggestion without `#[primary_span]` field
--> $DIR/subdiagnostic-derive.rs:523:1 --> $DIR/subdiagnostic-derive.rs:522:1
| |
LL | / #[suggestion(no_crate_example, code = "...")] LL | / #[suggestion(no_crate_example, code = "...")]
LL | | LL | |
@ -307,7 +307,7 @@ LL | | }
| |_^ | |_^
error: invalid nested attribute error: invalid nested attribute
--> $DIR/subdiagnostic-derive.rs:538:42 --> $DIR/subdiagnostic-derive.rs:537:42
| |
LL | #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")] LL | #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
| ^^^^ | ^^^^
@ -315,7 +315,7 @@ LL | #[multipart_suggestion(no_crate_example, code = "...", applicability = "mac
= help: only `style` and `applicability` are valid nested attributes = help: only `style` and `applicability` are valid nested attributes
error: multipart suggestion without any `#[suggestion_part(...)]` fields error: multipart suggestion without any `#[suggestion_part(...)]` fields
--> $DIR/subdiagnostic-derive.rs:538:1 --> $DIR/subdiagnostic-derive.rs:537:1
| |
LL | / #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")] LL | / #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
LL | | LL | |
@ -326,19 +326,19 @@ LL | | }
| |_^ | |_^
error: `#[suggestion_part(...)]` attribute without `code = "..."` error: `#[suggestion_part(...)]` attribute without `code = "..."`
--> $DIR/subdiagnostic-derive.rs:548:5 --> $DIR/subdiagnostic-derive.rs:547:5
| |
LL | #[suggestion_part] LL | #[suggestion_part]
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
error: unexpected end of input, unexpected token in nested attribute, expected ident error: unexpected end of input, unexpected token in nested attribute, expected ident
--> $DIR/subdiagnostic-derive.rs:556:23 --> $DIR/subdiagnostic-derive.rs:555:23
| |
LL | #[suggestion_part()] LL | #[suggestion_part()]
| ^ | ^
error: `#[primary_span]` is not a valid attribute error: `#[primary_span]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:565:5 --> $DIR/subdiagnostic-derive.rs:564:5
| |
LL | #[primary_span] LL | #[primary_span]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
@ -346,7 +346,7 @@ LL | #[primary_span]
= help: multipart suggestions use one or more `#[suggestion_part]`s rather than one `#[primary_span]` = help: multipart suggestions use one or more `#[suggestion_part]`s rather than one `#[primary_span]`
error: multipart suggestion without any `#[suggestion_part(...)]` fields error: multipart suggestion without any `#[suggestion_part(...)]` fields
--> $DIR/subdiagnostic-derive.rs:562:1 --> $DIR/subdiagnostic-derive.rs:561:1
| |
LL | / #[multipart_suggestion(no_crate_example)] LL | / #[multipart_suggestion(no_crate_example)]
LL | | LL | |
@ -358,13 +358,13 @@ LL | | }
| |_^ | |_^
error: `#[suggestion_part(...)]` attribute without `code = "..."` error: `#[suggestion_part(...)]` attribute without `code = "..."`
--> $DIR/subdiagnostic-derive.rs:573:5 --> $DIR/subdiagnostic-derive.rs:572:5
| |
LL | #[suggestion_part] LL | #[suggestion_part]
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
error: `code` is the only valid nested attribute error: `code` is the only valid nested attribute
--> $DIR/subdiagnostic-derive.rs:579:23 --> $DIR/subdiagnostic-derive.rs:578:23
| |
LL | #[suggestion_part(foo = "bar")] LL | #[suggestion_part(foo = "bar")]
| ^^^ | ^^^
@ -382,28 +382,28 @@ LL | #[suggestion_part()]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
error: unexpected end of input, unexpected token in nested attribute, expected ident error: unexpected end of input, unexpected token in nested attribute, expected ident
--> $DIR/subdiagnostic-derive.rs:576:23 --> $DIR/subdiagnostic-derive.rs:575:23
| |
LL | #[suggestion_part()] LL | #[suggestion_part()]
| ^ | ^
error: expected `,` error: expected `,`
--> $DIR/subdiagnostic-derive.rs:579:27 --> $DIR/subdiagnostic-derive.rs:578:27
| |
LL | #[suggestion_part(foo = "bar")] LL | #[suggestion_part(foo = "bar")]
| ^ | ^
error: specified multiple times error: specified multiple times
--> $DIR/subdiagnostic-derive.rs:593:5 --> $DIR/subdiagnostic-derive.rs:593:37
| |
LL | #[suggestion_part(code = "...", code = ",,,")] LL | #[suggestion_part(code = "...", code = ",,,")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/subdiagnostic-derive.rs:593:5 --> $DIR/subdiagnostic-derive.rs:593:23
| |
LL | #[suggestion_part(code = "...", code = ",,,")] LL | #[suggestion_part(code = "...", code = ",,,")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^
error: `#[applicability]` has no effect if all `#[suggestion]`/`#[multipart_suggestion]` attributes have a static `applicability = "..."` error: `#[applicability]` has no effect if all `#[suggestion]`/`#[multipart_suggestion]` attributes have a static `applicability = "..."`
--> $DIR/subdiagnostic-derive.rs:622:5 --> $DIR/subdiagnostic-derive.rs:622:5
@ -424,55 +424,55 @@ LL | #[suggestion_part(code("foo"))]
| ^^^^^ | ^^^^^
error: expected exactly one string literal for `code = ...` error: expected exactly one string literal for `code = ...`
--> $DIR/subdiagnostic-derive.rs:679:41 --> $DIR/subdiagnostic-derive.rs:680:41
| |
LL | #[suggestion_part(code("foo", "bar"))] LL | #[suggestion_part(code("foo", "bar"))]
| ^ | ^
error: unexpected token error: unexpected token
--> $DIR/subdiagnostic-derive.rs:679:28 --> $DIR/subdiagnostic-derive.rs:680:28
| |
LL | #[suggestion_part(code("foo", "bar"))] LL | #[suggestion_part(code("foo", "bar"))]
| ^^^^^ | ^^^^^
error: expected exactly one string literal for `code = ...` error: expected exactly one string literal for `code = ...`
--> $DIR/subdiagnostic-derive.rs:688:30 --> $DIR/subdiagnostic-derive.rs:690:30
| |
LL | #[suggestion_part(code(3))] LL | #[suggestion_part(code(3))]
| ^ | ^
error: unexpected token error: unexpected token
--> $DIR/subdiagnostic-derive.rs:688:28 --> $DIR/subdiagnostic-derive.rs:690:28
| |
LL | #[suggestion_part(code(3))] LL | #[suggestion_part(code(3))]
| ^ | ^
error: expected exactly one string literal for `code = ...` error: expected exactly one string literal for `code = ...`
--> $DIR/subdiagnostic-derive.rs:697:29 --> $DIR/subdiagnostic-derive.rs:700:29
| |
LL | #[suggestion_part(code())] LL | #[suggestion_part(code())]
| ^ | ^
error: expected string literal error: expected string literal
--> $DIR/subdiagnostic-derive.rs:706:30 --> $DIR/subdiagnostic-derive.rs:712:30
| |
LL | #[suggestion_part(code = 3)] LL | #[suggestion_part(code = 3)]
| ^ | ^
error: specified multiple times error: specified multiple times
--> $DIR/subdiagnostic-derive.rs:748:1 --> $DIR/subdiagnostic-derive.rs:754:1
| |
LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")] LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/subdiagnostic-derive.rs:748:1 --> $DIR/subdiagnostic-derive.rs:754:1
| |
LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")] LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `#[suggestion_hidden(...)]` is not a valid attribute error: `#[suggestion_hidden(...)]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:757:1 --> $DIR/subdiagnostic-derive.rs:763:1
| |
LL | #[suggestion_hidden(no_crate_example, code = "")] LL | #[suggestion_hidden(no_crate_example, code = "")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -480,7 +480,7 @@ LL | #[suggestion_hidden(no_crate_example, code = "")]
= help: Use `#[suggestion(..., style = "hidden")]` instead = help: Use `#[suggestion(..., style = "hidden")]` instead
error: `#[suggestion_hidden(...)]` is not a valid attribute error: `#[suggestion_hidden(...)]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:765:1 --> $DIR/subdiagnostic-derive.rs:771:1
| |
LL | #[suggestion_hidden(no_crate_example, code = "", style = "normal")] LL | #[suggestion_hidden(no_crate_example, code = "", style = "normal")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -488,7 +488,7 @@ LL | #[suggestion_hidden(no_crate_example, code = "", style = "normal")]
= help: Use `#[suggestion(..., style = "hidden")]` instead = help: Use `#[suggestion(..., style = "hidden")]` instead
error: invalid suggestion style error: invalid suggestion style
--> $DIR/subdiagnostic-derive.rs:773:51 --> $DIR/subdiagnostic-derive.rs:779:51
| |
LL | #[suggestion(no_crate_example, code = "", style = "foo")] LL | #[suggestion(no_crate_example, code = "", style = "foo")]
| ^^^^^ | ^^^^^
@ -496,31 +496,31 @@ LL | #[suggestion(no_crate_example, code = "", style = "foo")]
= help: valid styles are `normal`, `short`, `hidden`, `verbose` and `tool-only` = help: valid styles are `normal`, `short`, `hidden`, `verbose` and `tool-only`
error: expected `= "xxx"` error: expected `= "xxx"`
--> $DIR/subdiagnostic-derive.rs:781:49 --> $DIR/subdiagnostic-derive.rs:787:49
| |
LL | #[suggestion(no_crate_example, code = "", style = 42)] LL | #[suggestion(no_crate_example, code = "", style = 42)]
| ^ | ^
error: a diagnostic slug must be the first argument to the attribute error: a diagnostic slug must be the first argument to the attribute
--> $DIR/subdiagnostic-derive.rs:789:48 --> $DIR/subdiagnostic-derive.rs:795:48
| |
LL | #[suggestion(no_crate_example, code = "", style)] LL | #[suggestion(no_crate_example, code = "", style)]
| ^ | ^
error: expected `= "xxx"` error: expected `= "xxx"`
--> $DIR/subdiagnostic-derive.rs:797:48 --> $DIR/subdiagnostic-derive.rs:803:48
| |
LL | #[suggestion(no_crate_example, code = "", style("foo"))] LL | #[suggestion(no_crate_example, code = "", style("foo"))]
| ^ | ^
error: expected `,` error: expected `,`
--> $DIR/subdiagnostic-derive.rs:797:48 --> $DIR/subdiagnostic-derive.rs:803:48
| |
LL | #[suggestion(no_crate_example, code = "", style("foo"))] LL | #[suggestion(no_crate_example, code = "", style("foo"))]
| ^ | ^
error: `#[primary_span]` is not a valid attribute error: `#[primary_span]` is not a valid attribute
--> $DIR/subdiagnostic-derive.rs:808:5 --> $DIR/subdiagnostic-derive.rs:815:5
| |
LL | #[primary_span] LL | #[primary_span]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
@ -529,7 +529,7 @@ LL | #[primary_span]
= help: to create a suggestion with multiple spans, use `#[multipart_suggestion]` instead = help: to create a suggestion with multiple spans, use `#[multipart_suggestion]` instead
error: suggestion without `#[primary_span]` field error: suggestion without `#[primary_span]` field
--> $DIR/subdiagnostic-derive.rs:805:1 --> $DIR/subdiagnostic-derive.rs:812:1
| |
LL | / #[suggestion(no_crate_example, code = "")] LL | / #[suggestion(no_crate_example, code = "")]
LL | | LL | |
@ -547,61 +547,61 @@ LL | #[foo]
| ^^^ | ^^^
error: cannot find attribute `foo` in this scope error: cannot find attribute `foo` in this scope
--> $DIR/subdiagnostic-derive.rs:161:3 --> $DIR/subdiagnostic-derive.rs:160:3
| |
LL | #[foo] LL | #[foo]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:175:7 --> $DIR/subdiagnostic-derive.rs:174:7
| |
LL | #[bar] LL | #[bar]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:187:7 --> $DIR/subdiagnostic-derive.rs:186:7
| |
LL | #[bar = "..."] LL | #[bar = "..."]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:199:7 --> $DIR/subdiagnostic-derive.rs:198:7
| |
LL | #[bar = 4] LL | #[bar = 4]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:211:7 --> $DIR/subdiagnostic-derive.rs:210:7
| |
LL | #[bar("...")] LL | #[bar("...")]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:272:7 --> $DIR/subdiagnostic-derive.rs:271:7
| |
LL | #[bar] LL | #[bar]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:283:7 --> $DIR/subdiagnostic-derive.rs:282:7
| |
LL | #[bar = "..."] LL | #[bar = "..."]
| ^^^ | ^^^
error: cannot find attribute `bar` in this scope error: cannot find attribute `bar` in this scope
--> $DIR/subdiagnostic-derive.rs:294:7 --> $DIR/subdiagnostic-derive.rs:293:7
| |
LL | #[bar("...")] LL | #[bar("...")]
| ^^^ | ^^^
error[E0425]: cannot find value `slug` in module `crate::fluent_generated` error[E0425]: cannot find value `slug` in module `crate::fluent_generated`
--> $DIR/subdiagnostic-derive.rs:124:9 --> $DIR/subdiagnostic-derive.rs:123:9
| |
LL | #[label(slug)] LL | #[label(slug)]
| ^^^^ not found in `crate::fluent_generated` | ^^^^ not found in `crate::fluent_generated`
error[E0425]: cannot find value `__code_29` in this scope error[E0425]: cannot find value `__code_29` in this scope
--> $DIR/subdiagnostic-derive.rs:703:10 --> $DIR/subdiagnostic-derive.rs:706:10
| |
LL | #[derive(Subdiagnostic)] LL | #[derive(Subdiagnostic)]
| ^^^^^^^^^^^^^ not found in this scope | ^^^^^^^^^^^^^ not found in this scope