Skip to content

Make some suggestions "verbose" #137343

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions compiler/rustc_ast_lowering/src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ pub(crate) struct GenericTypeWithParentheses {
}

#[derive(Subdiagnostic)]
#[multipart_suggestion(ast_lowering_use_angle_brackets, applicability = "maybe-incorrect")]
#[multipart_suggestion(
ast_lowering_use_angle_brackets,
applicability = "maybe-incorrect",
style = "verbose"
)]
pub(crate) struct UseAngleBrackets {
#[suggestion_part(code = "<")]
pub open_param: Span,
Expand Down Expand Up @@ -47,7 +51,8 @@ pub(crate) struct TupleStructWithDefault {
#[suggestion(
ast_lowering_invalid_abi_suggestion,
code = "{suggestion}",
applicability = "maybe-incorrect"
applicability = "maybe-incorrect",
style = "verbose"
)]
pub(crate) struct InvalidAbiSuggestion {
#[primary_span]
Expand Down Expand Up @@ -134,7 +139,7 @@ pub(crate) struct ClosureCannotBeStatic {
#[diag(ast_lowering_functional_record_update_destructuring_assignment)]
pub(crate) struct FunctionalRecordUpdateDestructuringAssignment {
#[primary_span]
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
pub span: Span,
}

Expand Down Expand Up @@ -335,7 +340,7 @@ pub(crate) struct MisplacedRelaxTraitBound {
pub(crate) struct MatchArmWithNoBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " => todo!(),", applicability = "has-placeholders")]
#[suggestion(code = " => todo!(),", applicability = "has-placeholders", style = "verbose")]
pub suggestion: Span,
}

Expand All @@ -344,15 +349,15 @@ pub(crate) struct MatchArmWithNoBody {
pub(crate) struct NeverPatternWithBody {
#[primary_span]
#[label]
#[suggestion(code = "", applicability = "maybe-incorrect")]
#[suggestion(code = "", applicability = "maybe-incorrect", style = "verbose")]
pub span: Span,
}

#[derive(Diagnostic)]
#[diag(ast_lowering_never_pattern_with_guard)]
pub(crate) struct NeverPatternWithGuard {
#[primary_span]
#[suggestion(code = "", applicability = "maybe-incorrect")]
#[suggestion(code = "", applicability = "maybe-incorrect", style = "verbose")]
pub span: Span,
}

Expand All @@ -377,19 +382,19 @@ pub(crate) enum BadReturnTypeNotation {
#[diag(ast_lowering_bad_return_type_notation_inputs)]
Inputs {
#[primary_span]
#[suggestion(code = "()", applicability = "maybe-incorrect")]
#[suggestion(code = "()", applicability = "maybe-incorrect", style = "verbose")]
span: Span,
},
#[diag(ast_lowering_bad_return_type_notation_output)]
Output {
#[primary_span]
#[suggestion(code = "", applicability = "maybe-incorrect")]
#[suggestion(code = "", applicability = "maybe-incorrect", style = "verbose")]
span: Span,
},
#[diag(ast_lowering_bad_return_type_notation_needs_dots)]
NeedsDots {
#[primary_span]
#[suggestion(code = "(..)", applicability = "maybe-incorrect")]
#[suggestion(code = "(..)", applicability = "maybe-incorrect", style = "verbose")]
span: Span,
},
#[diag(ast_lowering_bad_return_type_notation_position)]
Expand Down Expand Up @@ -457,7 +462,8 @@ pub(crate) struct InvalidLegacyConstGenericArg {
#[derive(Subdiagnostic)]
#[multipart_suggestion(
ast_lowering_invalid_legacy_const_generic_arg_suggestion,
applicability = "maybe-incorrect"
applicability = "maybe-incorrect",
style = "verbose"
)]
pub(crate) struct UseConstGenericArg {
#[suggestion_part(code = "::<{const_args}>")]
Expand Down
70 changes: 47 additions & 23 deletions compiler/rustc_ast_passes/src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ pub(crate) struct VisibilityNotPermitted {
#[suggestion(
ast_passes_remove_qualifier_sugg,
code = "",
applicability = "machine-applicable"
applicability = "machine-applicable",
style = "verbose"
)]
pub remove_qualifier_sugg: Span,
}
Expand All @@ -44,19 +45,21 @@ pub(crate) struct TraitFnConst {
pub in_impl: bool,
#[label(ast_passes_const_context_label)]
pub const_context_label: Option<Span>,
#[suggestion(ast_passes_remove_const_sugg, code = "")]
#[suggestion(ast_passes_remove_const_sugg, code = "", style = "verbose")]
pub remove_const_sugg: (Span, Applicability),
pub requires_multiple_changes: bool,
#[suggestion(
ast_passes_make_impl_const_sugg,
code = "const ",
applicability = "maybe-incorrect"
applicability = "maybe-incorrect",
style = "verbose"
)]
pub make_impl_const_sugg: Option<Span>,
#[suggestion(
ast_passes_make_trait_const_sugg,
code = "#[const_trait]\n",
applicability = "maybe-incorrect"
applicability = "maybe-incorrect",
style = "verbose"
)]
pub make_trait_const_sugg: Option<Span>,
}
Expand Down Expand Up @@ -128,7 +131,7 @@ pub(crate) struct ForbiddenDefault {
pub(crate) struct AssocConstWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " = <expr>;", applicability = "has-placeholders")]
#[suggestion(code = " = <expr>;", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
}

Expand All @@ -137,7 +140,7 @@ pub(crate) struct AssocConstWithoutBody {
pub(crate) struct AssocFnWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " {{ <body> }}", applicability = "has-placeholders")]
#[suggestion(code = " {{ <body> }}", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
}

Expand All @@ -146,7 +149,7 @@ pub(crate) struct AssocFnWithoutBody {
pub(crate) struct AssocTypeWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " = <type>;", applicability = "has-placeholders")]
#[suggestion(code = " = <type>;", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
}

Expand All @@ -155,7 +158,7 @@ pub(crate) struct AssocTypeWithoutBody {
pub(crate) struct ConstWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " = <expr>;", applicability = "has-placeholders")]
#[suggestion(code = " = <expr>;", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
}

Expand All @@ -164,7 +167,7 @@ pub(crate) struct ConstWithoutBody {
pub(crate) struct StaticWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " = <expr>;", applicability = "has-placeholders")]
#[suggestion(code = " = <expr>;", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
}

Expand All @@ -173,7 +176,7 @@ pub(crate) struct StaticWithoutBody {
pub(crate) struct TyAliasWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " = <type>;", applicability = "has-placeholders")]
#[suggestion(code = " = <type>;", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
}

Expand All @@ -182,22 +185,30 @@ pub(crate) struct TyAliasWithoutBody {
pub(crate) struct FnWithoutBody {
#[primary_span]
pub span: Span,
#[suggestion(code = " {{ <body> }}", applicability = "has-placeholders")]
#[suggestion(code = " {{ <body> }}", applicability = "has-placeholders", style = "verbose")]
pub replace_span: Span,
#[subdiagnostic]
pub extern_block_suggestion: Option<ExternBlockSuggestion>,
}

#[derive(Subdiagnostic)]
pub(crate) enum ExternBlockSuggestion {
#[multipart_suggestion(ast_passes_extern_block_suggestion, applicability = "maybe-incorrect")]
#[multipart_suggestion(
ast_passes_extern_block_suggestion,
applicability = "maybe-incorrect",
style = "verbose"
)]
Implicit {
#[suggestion_part(code = "extern {{")]
start_span: Span,
#[suggestion_part(code = " }}")]
end_span: Span,
},
#[multipart_suggestion(ast_passes_extern_block_suggestion, applicability = "maybe-incorrect")]
#[multipart_suggestion(
ast_passes_extern_block_suggestion,
applicability = "maybe-incorrect",
style = "verbose"
)]
Explicit {
#[suggestion_part(code = "extern \"{abi}\" {{")]
start_span: Span,
Expand Down Expand Up @@ -250,7 +261,7 @@ pub(crate) struct BoundInContext<'a> {
#[note(ast_passes_extern_keyword_link)]
pub(crate) struct ExternTypesCannotHave<'a> {
#[primary_span]
#[suggestion(code = "", applicability = "maybe-incorrect")]
#[suggestion(code = "", applicability = "maybe-incorrect", style = "verbose")]
pub span: Span,
pub descr: &'a str,
pub remove_descr: &'a str,
Expand Down Expand Up @@ -280,7 +291,7 @@ pub(crate) struct FnBodyInExtern {
#[primary_span]
#[label(ast_passes_cannot_have)]
pub span: Span,
#[suggestion(code = ";", applicability = "maybe-incorrect")]
#[suggestion(code = ";", applicability = "maybe-incorrect", style = "verbose")]
pub body: Span,
#[label]
pub block: Span,
Expand All @@ -290,7 +301,7 @@ pub(crate) struct FnBodyInExtern {
#[diag(ast_passes_extern_fn_qualifiers)]
pub(crate) struct FnQualifierInExtern {
#[primary_span]
#[suggestion(code = "", applicability = "maybe-incorrect")]
#[suggestion(code = "", applicability = "maybe-incorrect", style = "verbose")]
pub span: Span,
#[label]
pub block: Span,
Expand Down Expand Up @@ -343,7 +354,7 @@ pub(crate) struct ModuleNonAscii {
#[diag(ast_passes_auto_generic, code = E0567)]
pub(crate) struct AutoTraitGeneric {
#[primary_span]
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
pub span: Span,
#[label]
pub ident: Span,
Expand All @@ -353,7 +364,7 @@ pub(crate) struct AutoTraitGeneric {
#[diag(ast_passes_auto_super_lifetime, code = E0568)]
pub(crate) struct AutoTraitBounds {
#[primary_span]
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
pub span: Span,
#[label]
pub ident: Span,
Expand All @@ -364,7 +375,7 @@ pub(crate) struct AutoTraitBounds {
pub(crate) struct AutoTraitItems {
#[primary_span]
pub spans: Vec<Span>,
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
pub total: Span,
#[label]
pub ident: Span,
Expand Down Expand Up @@ -440,7 +451,11 @@ pub(crate) struct AtLeastOneTrait {
pub(crate) struct OutOfOrderParams<'a> {
#[primary_span]
pub spans: Vec<Span>,
#[suggestion(code = "{ordered_params}", applicability = "machine-applicable")]
#[suggestion(
code = "{ordered_params}",
applicability = "machine-applicable",
style = "verbose"
)]
pub sugg_span: Span,
pub param_ord: &'a ParamKindOrd,
pub max_param: &'a ParamKindOrd,
Expand Down Expand Up @@ -536,7 +551,12 @@ pub(crate) struct WhereClauseBeforeTypeAlias {

#[derive(Subdiagnostic)]
pub(crate) enum WhereClauseBeforeTypeAliasSugg {
#[suggestion(ast_passes_remove_suggestion, applicability = "machine-applicable", code = "")]
#[suggestion(
ast_passes_remove_suggestion,
applicability = "machine-applicable",
code = "",
style = "verbose"
)]
Remove {
#[primary_span]
span: Span,
Expand Down Expand Up @@ -720,7 +740,11 @@ pub(crate) struct AssociatedSuggestion {
}

#[derive(Subdiagnostic)]
#[multipart_suggestion(ast_passes_suggestion_path, applicability = "maybe-incorrect")]
#[multipart_suggestion(
ast_passes_suggestion_path,
applicability = "maybe-incorrect",
style = "verbose"
)]
pub(crate) struct AssociatedSuggestion2 {
#[suggestion_part(code = "{args}")]
pub span: Span,
Expand All @@ -739,7 +763,7 @@ pub(crate) struct FeatureOnNonNightly {
pub channel: &'static str,
#[subdiagnostic]
pub stable_features: Vec<StableFeature>,
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
pub sugg: Option<Span>,
}

Expand Down
25 changes: 17 additions & 8 deletions compiler/rustc_builtin_macros/src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ pub(crate) struct AssertRequiresBoolean {
pub(crate) struct AssertRequiresExpression {
#[primary_span]
pub(crate) span: Span,
#[suggestion(code = "", applicability = "maybe-incorrect")]
#[suggestion(code = "", applicability = "maybe-incorrect", style = "verbose")]
pub(crate) token: Span,
}

Expand Down Expand Up @@ -231,7 +231,8 @@ pub(crate) enum ConcatBytesInvalidSuggestion {
#[suggestion(
builtin_macros_byte_char,
code = "b{snippet}",
applicability = "machine-applicable"
applicability = "machine-applicable",
style = "verbose"
)]
CharLit {
#[primary_span]
Expand All @@ -241,7 +242,8 @@ pub(crate) enum ConcatBytesInvalidSuggestion {
#[suggestion(
builtin_macros_byte_str,
code = "b{snippet}",
applicability = "machine-applicable"
applicability = "machine-applicable",
style = "verbose"
)]
StrLit {
#[primary_span]
Expand All @@ -251,7 +253,8 @@ pub(crate) enum ConcatBytesInvalidSuggestion {
#[suggestion(
builtin_macros_number_array,
code = "[{snippet}]",
applicability = "machine-applicable"
applicability = "machine-applicable",
style = "verbose"
)]
IntLit {
#[primary_span]
Expand Down Expand Up @@ -355,15 +358,15 @@ pub(crate) enum BadDeriveLitHelp {
#[derive(Diagnostic)]
#[diag(builtin_macros_derive_path_args_list)]
pub(crate) struct DerivePathArgsList {
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
#[primary_span]
pub(crate) span: Span,
}

#[derive(Diagnostic)]
#[diag(builtin_macros_derive_path_args_value)]
pub(crate) struct DerivePathArgsValue {
#[suggestion(code = "", applicability = "machine-applicable")]
#[suggestion(code = "", applicability = "machine-applicable", style = "verbose")]
#[primary_span]
pub(crate) span: Span,
}
Expand All @@ -380,7 +383,12 @@ pub(crate) struct NoDefaultVariant {
}

#[derive(Subdiagnostic)]
#[suggestion(builtin_macros_suggestion, code = "#[default] ", applicability = "maybe-incorrect")]
#[suggestion(
builtin_macros_suggestion,
code = "#[default] ",
applicability = "maybe-incorrect",
style = "verbose"
)]
pub(crate) struct NoDefaultVariantSugg {
#[primary_span]
pub(crate) span: Span,
Expand Down Expand Up @@ -612,7 +620,8 @@ pub(crate) enum InvalidFormatStringSuggestion {
#[suggestion(
builtin_macros_format_remove_raw_ident,
code = "",
applicability = "machine-applicable"
applicability = "machine-applicable",
style = "verbose"
)]
RemoveRawIdent {
#[primary_span]
Expand Down
Loading
Loading