From 4547b622d8d29df964fa2914213088b148c498fc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:18:32 +0200 Subject: Merging upstream version 1.67.1+dfsg1. Signed-off-by: Daniel Baumann --- .../session-diagnostic/subdiagnostic-derive.rs | 248 ++++++++++++++------- 1 file changed, 170 insertions(+), 78 deletions(-) (limited to 'src/test/ui-fulldeps/session-diagnostic/subdiagnostic-derive.rs') diff --git a/src/test/ui-fulldeps/session-diagnostic/subdiagnostic-derive.rs b/src/test/ui-fulldeps/session-diagnostic/subdiagnostic-derive.rs index efec85eb5..61ac456a6 100644 --- a/src/test/ui-fulldeps/session-diagnostic/subdiagnostic-derive.rs +++ b/src/test/ui-fulldeps/session-diagnostic/subdiagnostic-derive.rs @@ -11,16 +11,16 @@ #![crate_type = "lib"] extern crate rustc_errors; +extern crate rustc_macros; extern crate rustc_session; extern crate rustc_span; -extern crate rustc_macros; use rustc_errors::Applicability; -use rustc_span::Span; use rustc_macros::Subdiagnostic; +use rustc_span::Span; #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct A { #[primary_span] span: Span, @@ -29,22 +29,22 @@ struct A { #[derive(Subdiagnostic)] enum B { - #[label(parser_add_paren)] + #[label(parse_add_paren)] A { #[primary_span] span: Span, var: String, }, - #[label(parser_add_paren)] + #[label(parse_add_paren)] B { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] //~^ ERROR label without `#[primary_span]` field struct C { var: String, @@ -138,7 +138,7 @@ struct M { } #[derive(Subdiagnostic)] -#[label(parser_add_paren, code = "...")] +#[label(parse_add_paren, code = "...")] //~^ ERROR `#[label(code = ...)]` is not a valid attribute struct N { #[primary_span] @@ -147,7 +147,7 @@ struct N { } #[derive(Subdiagnostic)] -#[label(parser_add_paren, applicability = "machine-applicable")] +#[label(parse_add_paren, applicability = "machine-applicable")] //~^ ERROR `#[label(applicability = ...)]` is not a valid attribute struct O { #[primary_span] @@ -160,12 +160,12 @@ struct O { //~^ ERROR cannot find attribute `foo` in this scope //~^^ ERROR unsupported type attribute for subdiagnostic enum enum P { - #[label(parser_add_paren)] + #[label(parse_add_paren)] A { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] @@ -177,7 +177,7 @@ enum Q { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] @@ -189,7 +189,7 @@ enum R { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] @@ -201,7 +201,7 @@ enum S { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] @@ -213,7 +213,7 @@ enum T { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] @@ -225,12 +225,12 @@ enum U { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] enum V { - #[label(parser_add_paren)] + #[label(parse_add_paren)] A { #[primary_span] span: Span, @@ -240,11 +240,11 @@ enum V { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] //~^ ERROR label without `#[primary_span]` field struct W { #[primary_span] @@ -253,7 +253,7 @@ struct W { } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct X { #[primary_span] span: Span, @@ -263,7 +263,7 @@ struct X { } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct Y { #[primary_span] span: Span, @@ -274,7 +274,7 @@ struct Y { } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct Z { #[primary_span] span: Span, @@ -285,7 +285,7 @@ struct Z { } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct AA { #[primary_span] span: Span, @@ -296,39 +296,39 @@ struct AA { } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct AB { #[primary_span] span: Span, #[skip_arg] - z: Z + z: Z, } #[derive(Subdiagnostic)] union AC { -//~^ ERROR unexpected unsupported untagged union + //~^ ERROR unexpected unsupported untagged union span: u32, - b: u64 + b: u64, } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] +#[label(parse_add_paren)] struct AD { #[primary_span] span: Span, } #[derive(Subdiagnostic)] -#[label(parser_add_paren, parser_add_paren)] -//~^ ERROR `#[label(parser_add_paren)]` is not a valid attribute +#[label(parse_add_paren, parse_add_paren)] +//~^ ERROR `#[label(parse_add_paren)]` is not a valid attribute struct AE { #[primary_span] span: Span, } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct AF { #[primary_span] //~^ NOTE previously specified here @@ -346,7 +346,7 @@ struct AG { } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...")] +#[suggestion(parse_add_paren, code = "...")] struct AH { #[primary_span] span: Span, @@ -357,7 +357,7 @@ struct AH { #[derive(Subdiagnostic)] enum AI { - #[suggestion(parser_add_paren, code = "...")] + #[suggestion(parse_add_paren, code = "...")] A { #[primary_span] span: Span, @@ -365,18 +365,18 @@ enum AI { applicability: Applicability, var: String, }, - #[suggestion(parser_add_paren, code = "...")] + #[suggestion(parse_add_paren, code = "...")] B { #[primary_span] span: Span, #[applicability] applicability: Applicability, var: String, - } + }, } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...", code = "...")] +#[suggestion(parse_add_paren, code = "...", code = "...")] //~^ ERROR specified multiple times //~^^ NOTE previously specified here struct AJ { @@ -387,7 +387,7 @@ struct AJ { } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...")] +#[suggestion(parse_add_paren, code = "...")] struct AK { #[primary_span] span: Span, @@ -400,7 +400,7 @@ struct AK { } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...")] +#[suggestion(parse_add_paren, code = "...")] struct AL { #[primary_span] span: Span, @@ -410,14 +410,14 @@ struct AL { } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...")] +#[suggestion(parse_add_paren, code = "...")] struct AM { #[primary_span] span: Span, } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren)] +#[suggestion(parse_add_paren)] //~^ ERROR suggestion without `code = "..."` struct AN { #[primary_span] @@ -427,7 +427,7 @@ struct AN { } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code ="...", applicability = "foo")] +#[suggestion(parse_add_paren, code = "...", applicability = "foo")] //~^ ERROR invalid applicability struct AO { #[primary_span] @@ -435,24 +435,24 @@ struct AO { } #[derive(Subdiagnostic)] -#[help(parser_add_paren)] +#[help(parse_add_paren)] struct AP { - var: String + var: String, } #[derive(Subdiagnostic)] -#[note(parser_add_paren)] +#[note(parse_add_paren)] struct AQ; #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...")] +#[suggestion(parse_add_paren, code = "...")] //~^ ERROR suggestion without `#[primary_span]` field struct AR { var: String, } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code ="...", applicability = "machine-applicable")] +#[suggestion(parse_add_paren, code = "...", applicability = "machine-applicable")] struct AS { #[primary_span] span: Span, @@ -462,16 +462,16 @@ struct AS { #[label] //~^ ERROR unsupported type attribute for subdiagnostic enum enum AT { - #[label(parser_add_paren)] + #[label(parse_add_paren)] A { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] +#[suggestion(parse_add_paren, code = "{var}", applicability = "machine-applicable")] struct AU { #[primary_span] span: Span, @@ -479,7 +479,7 @@ struct AU { } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] +#[suggestion(parse_add_paren, code = "{var}", applicability = "machine-applicable")] //~^ ERROR `var` doesn't refer to a field on this type struct AV { #[primary_span] @@ -488,37 +488,37 @@ struct AV { #[derive(Subdiagnostic)] enum AW { - #[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] + #[suggestion(parse_add_paren, code = "{var}", applicability = "machine-applicable")] A { #[primary_span] span: Span, var: String, - } + }, } #[derive(Subdiagnostic)] enum AX { - #[suggestion(parser_add_paren, code ="{var}", applicability = "machine-applicable")] -//~^ ERROR `var` doesn't refer to a field on this type + #[suggestion(parse_add_paren, code = "{var}", applicability = "machine-applicable")] + //~^ ERROR `var` doesn't refer to a field on this type A { #[primary_span] span: Span, - } + }, } #[derive(Subdiagnostic)] -#[warning(parser_add_paren)] +#[warning(parse_add_paren)] struct AY {} #[derive(Subdiagnostic)] -#[warning(parser_add_paren)] +#[warning(parse_add_paren)] struct AZ { #[primary_span] span: Span, } #[derive(Subdiagnostic)] -#[suggestion(parser_add_paren, code = "...")] +#[suggestion(parse_add_paren, code = "...")] //~^ ERROR suggestion without `#[primary_span]` field struct BA { #[suggestion_part] @@ -533,7 +533,7 @@ struct BA { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, code = "...", applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, code = "...", applicability = "machine-applicable")] //~^ ERROR multipart suggestion without any `#[suggestion_part(...)]` fields //~| ERROR `#[multipart_suggestion(code = ...)]` is not a valid attribute struct BBa { @@ -541,7 +541,7 @@ struct BBa { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, applicability = "machine-applicable")] struct BBb { #[suggestion_part] //~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."` @@ -549,7 +549,7 @@ struct BBb { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, applicability = "machine-applicable")] struct BBc { #[suggestion_part()] //~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."` @@ -557,7 +557,7 @@ struct BBc { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] //~^ ERROR multipart suggestion without any `#[suggestion_part(...)]` fields struct BC { #[primary_span] @@ -566,7 +566,7 @@ struct BC { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BD { #[suggestion_part] //~^ ERROR `#[suggestion_part(...)]` attribute without `code = "..."` @@ -586,7 +586,7 @@ struct BD { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, applicability = "machine-applicable")] struct BE { #[suggestion_part(code = "...", code = ",,,")] //~^ ERROR specified multiple times @@ -595,7 +595,7 @@ struct BE { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, applicability = "machine-applicable")] struct BF { #[suggestion_part(code = "(")] first: Span, @@ -604,7 +604,7 @@ struct BF { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BG { #[applicability] appl: Applicability, @@ -615,7 +615,7 @@ struct BG { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, applicability = "machine-applicable")] struct BH { #[applicability] //~^ ERROR `#[applicability]` has no effect @@ -627,14 +627,14 @@ struct BH { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren, applicability = "machine-applicable")] +#[multipart_suggestion(parse_add_paren, applicability = "machine-applicable")] struct BI { #[suggestion_part(code = "")] spans: Vec, } #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct BJ { #[primary_span] span: Span, @@ -643,7 +643,7 @@ struct BJ { /// with a doc comment on the type.. #[derive(Subdiagnostic)] -#[label(parser_add_paren)] +#[label(parse_add_paren)] struct BK { /// ..and the field #[primary_span] @@ -654,16 +654,16 @@ struct BK { #[derive(Subdiagnostic)] enum BL { /// ..and the variant.. - #[label(parser_add_paren)] + #[label(parse_add_paren)] Foo { /// ..and the field #[primary_span] span: Span, - } + }, } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BM { #[suggestion_part(code("foo"))] //~^ ERROR expected exactly one string literal for `code = ...` @@ -672,7 +672,7 @@ struct BM { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BN { #[suggestion_part(code("foo", "bar"))] //~^ ERROR expected exactly one string literal for `code = ...` @@ -681,7 +681,7 @@ struct BN { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BO { #[suggestion_part(code(3))] //~^ ERROR expected exactly one string literal for `code = ...` @@ -690,7 +690,7 @@ struct BO { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BP { #[suggestion_part(code())] //~^ ERROR expected exactly one string literal for `code = ...` @@ -699,10 +699,102 @@ struct BP { } #[derive(Subdiagnostic)] -#[multipart_suggestion(parser_add_paren)] +#[multipart_suggestion(parse_add_paren)] struct BQ { #[suggestion_part(code = 3)] //~^ ERROR `code = "..."`/`code(...)` must contain only string literals span: Span, r#type: String, } + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "")] +struct SuggestionStyleDefault { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = "short")] +struct SuggestionStyleShort { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = "hidden")] +struct SuggestionStyleHidden { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = "verbose")] +struct SuggestionStyleVerbose { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = "tool-only")] +struct SuggestionStyleToolOnly { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = "hidden", style = "normal")] +//~^ ERROR specified multiple times +//~| NOTE previously specified here +struct SuggestionStyleTwice { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion_hidden(parse_add_paren, code = "")] +//~^ ERROR #[suggestion_hidden(...)]` is not a valid attribute +struct SuggestionStyleOldSyntax { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion_hidden(parse_add_paren, code = "", style = "normal")] +//~^ ERROR #[suggestion_hidden(...)]` is not a valid attribute +struct SuggestionStyleOldAndNewSyntax { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = "foo")] +//~^ ERROR invalid suggestion style +struct SuggestionStyleInvalid1 { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style = 42)] +//~^ ERROR `#[suggestion(style = ...)]` is not a valid attribute +struct SuggestionStyleInvalid2 { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style)] +//~^ ERROR `#[suggestion(style)]` is not a valid attribute +struct SuggestionStyleInvalid3 { + #[primary_span] + sub: Span, +} + +#[derive(Subdiagnostic)] +#[suggestion(parse_add_paren, code = "", style("foo"))] +//~^ ERROR `#[suggestion(style(...))]` is not a valid attribute +struct SuggestionStyleInvalid4 { + #[primary_span] + sub: Span, +} -- cgit v1.2.3