about summary refs log tree commit diff
path: root/compiler/rustc_hir_analysis/src/errors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_hir_analysis/src/errors.rs')
-rw-r--r--compiler/rustc_hir_analysis/src/errors.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler/rustc_hir_analysis/src/errors.rs b/compiler/rustc_hir_analysis/src/errors.rs
index f7fa3263eaa..6e163cff7ed 100644
--- a/compiler/rustc_hir_analysis/src/errors.rs
+++ b/compiler/rustc_hir_analysis/src/errors.rs
@@ -193,6 +193,8 @@ pub enum FieldAlreadyDeclared {
         span: Span,
         #[note(hir_analysis_nested_field_decl_note)]
         nested_field_span: Span,
+        #[subdiagnostic]
+        help: FieldAlreadyDeclaredNestedHelp,
         #[label(hir_analysis_previous_decl_label)]
         prev_span: Span,
     },
@@ -206,6 +208,8 @@ pub enum FieldAlreadyDeclared {
         prev_span: Span,
         #[note(hir_analysis_previous_nested_field_decl_note)]
         prev_nested_field_span: Span,
+        #[subdiagnostic]
+        prev_help: FieldAlreadyDeclaredNestedHelp,
     },
     #[diag(hir_analysis_field_already_declared_both_nested)]
     BothNested {
@@ -215,13 +219,24 @@ pub enum FieldAlreadyDeclared {
         span: Span,
         #[note(hir_analysis_nested_field_decl_note)]
         nested_field_span: Span,
+        #[subdiagnostic]
+        help: FieldAlreadyDeclaredNestedHelp,
         #[label(hir_analysis_previous_decl_label)]
         prev_span: Span,
         #[note(hir_analysis_previous_nested_field_decl_note)]
         prev_nested_field_span: Span,
+        #[subdiagnostic]
+        prev_help: FieldAlreadyDeclaredNestedHelp,
     },
 }
 
+#[derive(Subdiagnostic)]
+#[help(hir_analysis_field_already_declared_nested_help)]
+pub struct FieldAlreadyDeclaredNestedHelp {
+    #[primary_span]
+    pub span: Span,
+}
+
 #[derive(Diagnostic)]
 #[diag(hir_analysis_copy_impl_on_type_with_dtor, code = E0184)]
 pub struct CopyImplOnTypeWithDtor {
@@ -1583,6 +1598,8 @@ pub enum UnnamedFieldsRepr<'a> {
         adt_name: Symbol,
         #[subdiagnostic]
         unnamed_fields: Vec<UnnamedFieldsReprFieldDefined>,
+        #[suggestion(code = "#[repr(C)]\n")]
+        sugg_span: Span,
     },
     #[diag(hir_analysis_unnamed_fields_repr_field_missing_repr_c)]
     FieldMissingReprC {
@@ -1592,6 +1609,9 @@ pub enum UnnamedFieldsRepr<'a> {
         #[label(hir_analysis_field_ty_label)]
         field_ty_span: Span,
         field_ty: Ty<'a>,
+        field_adt_kind: &'static str,
+        #[suggestion(code = "#[repr(C)]\n")]
+        sugg_span: Span,
     },
 }