rustfmt diagnostic derive tests

This commit is contained in:
Xiretza 2022-10-20 21:09:54 +02:00
parent 368c4a35b9
commit 29334b951a
4 changed files with 80 additions and 85 deletions

View File

@ -40,9 +40,9 @@ struct HelloWarn {}
//~^ ERROR unsupported type attribute for diagnostic derive enum //~^ ERROR unsupported type attribute for diagnostic derive enum
enum DiagnosticOnEnum { enum DiagnosticOnEnum {
Foo, Foo,
//~^ ERROR diagnostic slug not specified //~^ ERROR diagnostic slug not specified
Bar, Bar,
//~^ ERROR diagnostic slug not specified //~^ ERROR diagnostic slug not specified
} }
#[derive(Diagnostic)] #[derive(Diagnostic)]
@ -536,8 +536,7 @@ struct LabelWithTrailingList {
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
#[diag(compiletest_example)] #[diag(compiletest_example)]
struct LintsGood { struct LintsGood {}
}
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
#[diag(compiletest_example)] #[diag(compiletest_example)]
@ -683,7 +682,7 @@ struct RawIdentDiagnosticArg {
#[diag(compiletest_example)] #[diag(compiletest_example)]
struct SubdiagnosticBad { struct SubdiagnosticBad {
#[subdiagnostic(bad)] #[subdiagnostic(bad)]
//~^ ERROR `#[subdiagnostic(bad)]` is not a valid attribute //~^ ERROR `#[subdiagnostic(bad)]` is not a valid attribute
note: Note, note: Note,
} }
@ -691,7 +690,7 @@ struct SubdiagnosticBad {
#[diag(compiletest_example)] #[diag(compiletest_example)]
struct SubdiagnosticBadStr { struct SubdiagnosticBadStr {
#[subdiagnostic = "bad"] #[subdiagnostic = "bad"]
//~^ ERROR `#[subdiagnostic = ...]` is not a valid attribute //~^ ERROR `#[subdiagnostic = ...]` is not a valid attribute
note: Note, note: Note,
} }
@ -699,7 +698,7 @@ struct SubdiagnosticBadStr {
#[diag(compiletest_example)] #[diag(compiletest_example)]
struct SubdiagnosticBadTwice { struct SubdiagnosticBadTwice {
#[subdiagnostic(bad, bad)] #[subdiagnostic(bad, bad)]
//~^ ERROR `#[subdiagnostic(...)]` is not a valid attribute //~^ ERROR `#[subdiagnostic(...)]` is not a valid attribute
note: Note, note: Note,
} }
@ -707,7 +706,7 @@ struct SubdiagnosticBadTwice {
#[diag(compiletest_example)] #[diag(compiletest_example)]
struct SubdiagnosticBadLitStr { struct SubdiagnosticBadLitStr {
#[subdiagnostic("bad")] #[subdiagnostic("bad")]
//~^ ERROR `#[subdiagnostic("...")]` is not a valid attribute //~^ ERROR `#[subdiagnostic("...")]` is not a valid attribute
note: Note, note: Note,
} }
@ -715,7 +714,7 @@ struct SubdiagnosticBadLitStr {
#[diag(compiletest_example)] #[diag(compiletest_example)]
struct SubdiagnosticEagerLint { struct SubdiagnosticEagerLint {
#[subdiagnostic(eager)] #[subdiagnostic(eager)]
//~^ ERROR `#[subdiagnostic(...)]` is not a valid attribute //~^ ERROR `#[subdiagnostic(...)]` is not a valid attribute
note: Note, note: Note,
} }
@ -731,11 +730,7 @@ struct SubdiagnosticEagerCorrect {
// after the `span_suggestion` call - which breaks eager translation. // after the `span_suggestion` call - which breaks eager translation.
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion_short( #[suggestion_short(use_instead, applicability = "machine-applicable", code = "{correct}")]
use_instead,
applicability = "machine-applicable",
code = "{correct}"
)]
pub(crate) struct SubdiagnosticWithSuggestion { pub(crate) struct SubdiagnosticWithSuggestion {
#[primary_span] #[primary_span]
span: Span, span: Span,

View File

@ -373,7 +373,7 @@ LL | #[label(label, foo("..."))]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: `#[primary_span]` is not a valid attribute error: `#[primary_span]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:545:5 --> $DIR/diagnostic-derive.rs:544:5
| |
LL | #[primary_span] LL | #[primary_span]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
@ -381,13 +381,13 @@ LL | #[primary_span]
= help: the `primary_span` field attribute is not valid for lint diagnostics = help: the `primary_span` field attribute is not valid for lint diagnostics
error: `#[error(...)]` is not a valid attribute error: `#[error(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:565:1 --> $DIR/diagnostic-derive.rs:564:1
| |
LL | #[error(compiletest_example, code = "E0123")] LL | #[error(compiletest_example, code = "E0123")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: diagnostic slug not specified error: diagnostic slug not specified
--> $DIR/diagnostic-derive.rs:565:1 --> $DIR/diagnostic-derive.rs:564:1
| |
LL | / #[error(compiletest_example, code = "E0123")] LL | / #[error(compiletest_example, code = "E0123")]
LL | | LL | |
@ -399,13 +399,13 @@ LL | | struct ErrorAttribute {}
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]` = help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
error: `#[warn_(...)]` is not a valid attribute error: `#[warn_(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:572:1 --> $DIR/diagnostic-derive.rs:571:1
| |
LL | #[warn_(compiletest_example, code = "E0123")] LL | #[warn_(compiletest_example, code = "E0123")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: diagnostic slug not specified error: diagnostic slug not specified
--> $DIR/diagnostic-derive.rs:572:1 --> $DIR/diagnostic-derive.rs:571:1
| |
LL | / #[warn_(compiletest_example, code = "E0123")] LL | / #[warn_(compiletest_example, code = "E0123")]
LL | | LL | |
@ -417,13 +417,13 @@ LL | | struct WarnAttribute {}
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]` = help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
error: `#[lint(...)]` is not a valid attribute error: `#[lint(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:579:1 --> $DIR/diagnostic-derive.rs:578:1
| |
LL | #[lint(compiletest_example, code = "E0123")] LL | #[lint(compiletest_example, code = "E0123")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: diagnostic slug not specified error: diagnostic slug not specified
--> $DIR/diagnostic-derive.rs:579:1 --> $DIR/diagnostic-derive.rs:578:1
| |
LL | / #[lint(compiletest_example, code = "E0123")] LL | / #[lint(compiletest_example, code = "E0123")]
LL | | LL | |
@ -435,19 +435,19 @@ LL | | struct LintAttributeOnSessionDiag {}
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]` = help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
error: `#[lint(...)]` is not a valid attribute error: `#[lint(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:586:1 --> $DIR/diagnostic-derive.rs:585:1
| |
LL | #[lint(compiletest_example, code = "E0123")] LL | #[lint(compiletest_example, code = "E0123")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `#[lint(...)]` is not a valid attribute error: `#[lint(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:586:1 --> $DIR/diagnostic-derive.rs:585:1
| |
LL | #[lint(compiletest_example, code = "E0123")] LL | #[lint(compiletest_example, code = "E0123")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: diagnostic slug not specified error: diagnostic slug not specified
--> $DIR/diagnostic-derive.rs:586:1 --> $DIR/diagnostic-derive.rs:585:1
| |
LL | / #[lint(compiletest_example, code = "E0123")] LL | / #[lint(compiletest_example, code = "E0123")]
LL | | LL | |
@ -460,19 +460,19 @@ 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:596:44 --> $DIR/diagnostic-derive.rs:595:44
| |
LL | #[suggestion(suggestion, code = "...", code = ",,,")] LL | #[suggestion(suggestion, code = "...", code = ",,,")]
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
| |
note: previously specified here note: previously specified here
--> $DIR/diagnostic-derive.rs:596:30 --> $DIR/diagnostic-derive.rs:595:30
| |
LL | #[suggestion(suggestion, code = "...", code = ",,,")] LL | #[suggestion(suggestion, code = "...", code = ",,,")]
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
error: wrong types for suggestion error: wrong types for suggestion
--> $DIR/diagnostic-derive.rs:605:24 --> $DIR/diagnostic-derive.rs:604:24
| |
LL | suggestion: (Span, usize), LL | suggestion: (Span, usize),
| ^^^^^ | ^^^^^
@ -480,7 +480,7 @@ LL | suggestion: (Span, usize),
= help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)` = help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
error: wrong types for suggestion error: wrong types for suggestion
--> $DIR/diagnostic-derive.rs:613:17 --> $DIR/diagnostic-derive.rs:612:17
| |
LL | suggestion: (Span,), LL | suggestion: (Span,),
| ^^^^^^^ | ^^^^^^^
@ -488,13 +488,13 @@ LL | suggestion: (Span,),
= help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)` = help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
error: suggestion without `code = "..."` error: suggestion without `code = "..."`
--> $DIR/diagnostic-derive.rs:620:5 --> $DIR/diagnostic-derive.rs:619:5
| |
LL | #[suggestion(suggestion)] LL | #[suggestion(suggestion)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error: `#[multipart_suggestion(...)]` is not a valid attribute error: `#[multipart_suggestion(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:627:1 --> $DIR/diagnostic-derive.rs:626:1
| |
LL | #[multipart_suggestion(suggestion)] LL | #[multipart_suggestion(suggestion)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -502,7 +502,7 @@ LL | #[multipart_suggestion(suggestion)]
= help: consider creating a `Subdiagnostic` instead = help: consider creating a `Subdiagnostic` instead
error: `#[multipart_suggestion(...)]` is not a valid attribute error: `#[multipart_suggestion(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:630:1 --> $DIR/diagnostic-derive.rs:629:1
| |
LL | #[multipart_suggestion()] LL | #[multipart_suggestion()]
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
@ -510,7 +510,7 @@ LL | #[multipart_suggestion()]
= help: consider creating a `Subdiagnostic` instead = help: consider creating a `Subdiagnostic` instead
error: `#[multipart_suggestion(...)]` is not a valid attribute error: `#[multipart_suggestion(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:634:5 --> $DIR/diagnostic-derive.rs:633:5
| |
LL | #[multipart_suggestion(suggestion)] LL | #[multipart_suggestion(suggestion)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -518,7 +518,7 @@ LL | #[multipart_suggestion(suggestion)]
= help: consider creating a `Subdiagnostic` instead = help: consider creating a `Subdiagnostic` instead
error: `#[suggestion(...)]` is not a valid attribute error: `#[suggestion(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:642:1 --> $DIR/diagnostic-derive.rs:641:1
| |
LL | #[suggestion(suggestion, code = "...")] LL | #[suggestion(suggestion, code = "...")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -526,7 +526,7 @@ LL | #[suggestion(suggestion, code = "...")]
= help: `#[label]` and `#[suggestion]` can only be applied to fields = help: `#[label]` and `#[suggestion]` can only be applied to fields
error: `#[label]` is not a valid attribute error: `#[label]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:651:1 --> $DIR/diagnostic-derive.rs:650:1
| |
LL | #[label] LL | #[label]
| ^^^^^^^^ | ^^^^^^^^
@ -534,7 +534,7 @@ LL | #[label]
= help: `#[label]` and `#[suggestion]` can only be applied to fields = help: `#[label]` and `#[suggestion]` can only be applied to fields
error: `#[subdiagnostic(bad)]` is not a valid attribute error: `#[subdiagnostic(bad)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:685:21 --> $DIR/diagnostic-derive.rs:684:21
| |
LL | #[subdiagnostic(bad)] LL | #[subdiagnostic(bad)]
| ^^^ | ^^^
@ -542,7 +542,7 @@ LL | #[subdiagnostic(bad)]
= help: `eager` is the only supported nested attribute for `subdiagnostic` = help: `eager` is the only supported nested attribute for `subdiagnostic`
error: `#[subdiagnostic = ...]` is not a valid attribute error: `#[subdiagnostic = ...]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:693:5 --> $DIR/diagnostic-derive.rs:692:5
| |
LL | #[subdiagnostic = "bad"] LL | #[subdiagnostic = "bad"]
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -550,7 +550,7 @@ LL | #[subdiagnostic = "bad"]
= help: `eager` is the only supported nested attribute for `subdiagnostic` = help: `eager` is the only supported nested attribute for `subdiagnostic`
error: `#[subdiagnostic(...)]` is not a valid attribute error: `#[subdiagnostic(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:701:5 --> $DIR/diagnostic-derive.rs:700:5
| |
LL | #[subdiagnostic(bad, bad)] LL | #[subdiagnostic(bad, bad)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -558,7 +558,7 @@ LL | #[subdiagnostic(bad, bad)]
= help: `eager` is the only supported nested attribute for `subdiagnostic` = help: `eager` is the only supported nested attribute for `subdiagnostic`
error: `#[subdiagnostic("...")]` is not a valid attribute error: `#[subdiagnostic("...")]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:709:21 --> $DIR/diagnostic-derive.rs:708:21
| |
LL | #[subdiagnostic("bad")] LL | #[subdiagnostic("bad")]
| ^^^^^ | ^^^^^
@ -566,7 +566,7 @@ LL | #[subdiagnostic("bad")]
= help: `eager` is the only supported nested attribute for `subdiagnostic` = help: `eager` is the only supported nested attribute for `subdiagnostic`
error: `#[subdiagnostic(...)]` is not a valid attribute error: `#[subdiagnostic(...)]` is not a valid attribute
--> $DIR/diagnostic-derive.rs:717:5 --> $DIR/diagnostic-derive.rs:716:5
| |
LL | #[subdiagnostic(eager)] LL | #[subdiagnostic(eager)]
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
@ -574,19 +574,19 @@ LL | #[subdiagnostic(eager)]
= help: eager subdiagnostics are not supported on lints = help: eager subdiagnostics are not supported on lints
error: expected at least one string literal for `code(...)` error: expected at least one string literal for `code(...)`
--> $DIR/diagnostic-derive.rs:779:18 --> $DIR/diagnostic-derive.rs:774:18
| |
LL | #[suggestion(code())] LL | #[suggestion(code())]
| ^^^^^^ | ^^^^^^
error: `code(...)` must contain only string literals error: `code(...)` must contain only string literals
--> $DIR/diagnostic-derive.rs:787:23 --> $DIR/diagnostic-derive.rs:782:23
| |
LL | #[suggestion(code(foo))] LL | #[suggestion(code(foo))]
| ^^^ | ^^^
error: `code = "..."`/`code(...)` must contain only string literals error: `code = "..."`/`code(...)` must contain only string literals
--> $DIR/diagnostic-derive.rs:795:18 --> $DIR/diagnostic-derive.rs:790:18
| |
LL | #[suggestion(code = 3)] LL | #[suggestion(code = 3)]
| ^^^^^^^^ | ^^^^^^^^
@ -604,43 +604,43 @@ LL | #[nonsense]
| ^^^^^^^^ | ^^^^^^^^
error: cannot find attribute `error` in this scope error: cannot find attribute `error` in this scope
--> $DIR/diagnostic-derive.rs:565:3 --> $DIR/diagnostic-derive.rs:564:3
| |
LL | #[error(compiletest_example, code = "E0123")] LL | #[error(compiletest_example, code = "E0123")]
| ^^^^^ | ^^^^^
error: cannot find attribute `warn_` in this scope error: cannot find attribute `warn_` in this scope
--> $DIR/diagnostic-derive.rs:572:3 --> $DIR/diagnostic-derive.rs:571:3
| |
LL | #[warn_(compiletest_example, code = "E0123")] LL | #[warn_(compiletest_example, code = "E0123")]
| ^^^^^ help: a built-in attribute with a similar name exists: `warn` | ^^^^^ help: a built-in attribute with a similar name exists: `warn`
error: cannot find attribute `lint` in this scope error: cannot find attribute `lint` in this scope
--> $DIR/diagnostic-derive.rs:579:3 --> $DIR/diagnostic-derive.rs:578:3
| |
LL | #[lint(compiletest_example, code = "E0123")] LL | #[lint(compiletest_example, code = "E0123")]
| ^^^^ help: a built-in attribute with a similar name exists: `link` | ^^^^ help: a built-in attribute with a similar name exists: `link`
error: cannot find attribute `lint` in this scope error: cannot find attribute `lint` in this scope
--> $DIR/diagnostic-derive.rs:586:3 --> $DIR/diagnostic-derive.rs:585:3
| |
LL | #[lint(compiletest_example, code = "E0123")] LL | #[lint(compiletest_example, code = "E0123")]
| ^^^^ help: a built-in attribute with a similar name exists: `link` | ^^^^ help: a built-in attribute with a similar name exists: `link`
error: cannot find attribute `multipart_suggestion` in this scope error: cannot find attribute `multipart_suggestion` in this scope
--> $DIR/diagnostic-derive.rs:627:3 --> $DIR/diagnostic-derive.rs:626:3
| |
LL | #[multipart_suggestion(suggestion)] LL | #[multipart_suggestion(suggestion)]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
error: cannot find attribute `multipart_suggestion` in this scope error: cannot find attribute `multipart_suggestion` in this scope
--> $DIR/diagnostic-derive.rs:630:3 --> $DIR/diagnostic-derive.rs:629:3
| |
LL | #[multipart_suggestion()] LL | #[multipart_suggestion()]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
error: cannot find attribute `multipart_suggestion` in this scope error: cannot find attribute `multipart_suggestion` in this scope
--> $DIR/diagnostic-derive.rs:634:7 --> $DIR/diagnostic-derive.rs:633:7
| |
LL | #[multipart_suggestion(suggestion)] LL | #[multipart_suggestion(suggestion)]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^

View File

@ -11,13 +11,13 @@
#![crate_type = "lib"] #![crate_type = "lib"]
extern crate rustc_errors; extern crate rustc_errors;
extern crate rustc_macros;
extern crate rustc_session; extern crate rustc_session;
extern crate rustc_span; extern crate rustc_span;
extern crate rustc_macros;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_span::Span;
use rustc_macros::Subdiagnostic; use rustc_macros::Subdiagnostic;
use rustc_span::Span;
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[label(parser_add_paren)] #[label(parser_add_paren)]
@ -40,7 +40,7 @@ enum B {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -165,7 +165,7 @@ enum P {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -177,7 +177,7 @@ enum Q {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -189,7 +189,7 @@ enum R {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -201,7 +201,7 @@ enum S {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -213,7 +213,7 @@ enum T {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -225,7 +225,7 @@ enum U {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -240,7 +240,7 @@ enum V {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -301,14 +301,14 @@ struct AB {
#[primary_span] #[primary_span]
span: Span, span: Span,
#[skip_arg] #[skip_arg]
z: Z z: Z,
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
union AC { union AC {
//~^ ERROR unexpected unsupported untagged union //~^ ERROR unexpected unsupported untagged union
span: u32, span: u32,
b: u64 b: u64,
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -372,7 +372,7 @@ enum AI {
#[applicability] #[applicability]
applicability: Applicability, applicability: Applicability,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -427,7 +427,7 @@ struct AN {
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(parser_add_paren, code ="...", applicability = "foo")] #[suggestion(parser_add_paren, code = "...", applicability = "foo")]
//~^ ERROR invalid applicability //~^ ERROR invalid applicability
struct AO { struct AO {
#[primary_span] #[primary_span]
@ -437,7 +437,7 @@ struct AO {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[help(parser_add_paren)] #[help(parser_add_paren)]
struct AP { struct AP {
var: String var: String,
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -452,7 +452,7 @@ struct AR {
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(parser_add_paren, code ="...", applicability = "machine-applicable")] #[suggestion(parser_add_paren, code = "...", applicability = "machine-applicable")]
struct AS { struct AS {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -467,11 +467,11 @@ enum AT {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] #[suggestion(parser_add_paren, code = "{var}", applicability = "machine-applicable")]
struct AU { struct AU {
#[primary_span] #[primary_span]
span: Span, span: Span,
@ -479,7 +479,7 @@ struct AU {
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
#[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] #[suggestion(parser_add_paren, 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
struct AV { struct AV {
#[primary_span] #[primary_span]
@ -488,22 +488,22 @@ struct AV {
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
enum AW { enum AW {
#[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] #[suggestion(parser_add_paren, code = "{var}", applicability = "machine-applicable")]
A { A {
#[primary_span] #[primary_span]
span: Span, span: Span,
var: String, var: String,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
enum AX { enum AX {
#[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] #[suggestion(parser_add_paren, 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
A { A {
#[primary_span] #[primary_span]
span: Span, span: Span,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]
@ -659,7 +659,7 @@ enum BL {
/// ..and the field /// ..and the field
#[primary_span] #[primary_span]
span: Span, span: Span,
} },
} }
#[derive(Subdiagnostic)] #[derive(Subdiagnostic)]

View File

@ -186,7 +186,7 @@ error: unexpected unsupported untagged union
LL | / union AC { LL | / union AC {
LL | | LL | |
LL | | span: u32, LL | | span: u32,
LL | | b: u64 LL | | b: u64,
LL | | } LL | | }
| |_^ | |_^
@ -253,10 +253,10 @@ LL | #[suggestion(parser_add_paren)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: invalid applicability error: invalid applicability
--> $DIR/subdiagnostic-derive.rs:430:45 --> $DIR/subdiagnostic-derive.rs:430:46
| |
LL | #[suggestion(parser_add_paren, code ="...", applicability = "foo")] LL | #[suggestion(parser_add_paren, code = "...", applicability = "foo")]
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
error: suggestion without `#[primary_span]` field error: suggestion without `#[primary_span]` field
--> $DIR/subdiagnostic-derive.rs:448:1 --> $DIR/subdiagnostic-derive.rs:448:1
@ -275,16 +275,16 @@ 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:482:38 --> $DIR/subdiagnostic-derive.rs:482:39
| |
LL | #[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] LL | #[suggestion(parser_add_paren, 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:501:42 --> $DIR/subdiagnostic-derive.rs:501:43
| |
LL | #[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] LL | #[suggestion(parser_add_paren, 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:524:5 --> $DIR/subdiagnostic-derive.rs:524:5