summary refs log tree commit diff
path: root/compiler/rustc_passes/src/errors.rs
diff options
context:
space:
mode:
authorJana Dönszelmann <jana@donsz.nl>2025-06-12 10:21:30 +0200
committerJana Dönszelmann <jana@donsz.nl>2025-06-12 12:26:27 +0200
commit2e7e52e07cec3adb2b14ce17faffe039216ed9d7 (patch)
tree1c9b4d76d0288c4ab8c76a2e04b589249de35632 /compiler/rustc_passes/src/errors.rs
parent975741c29417034e9026e53fba16f3b7d5c5721b (diff)
downloadrust-2e7e52e07cec3adb2b14ce17faffe039216ed9d7.tar.gz
rust-2e7e52e07cec3adb2b14ce17faffe039216ed9d7.zip
detect when variants have the same name as an associated function
Diffstat (limited to 'compiler/rustc_passes/src/errors.rs')
-rw-r--r--compiler/rustc_passes/src/errors.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/rustc_passes/src/errors.rs b/compiler/rustc_passes/src/errors.rs
index 74ce92624bd..74c89f0c698 100644
--- a/compiler/rustc_passes/src/errors.rs
+++ b/compiler/rustc_passes/src/errors.rs
@@ -1478,6 +1478,9 @@ pub(crate) enum MultipleDeadCodes<'tcx> {
         participle: &'tcx str,
         name_list: DiagSymbolList,
         #[subdiagnostic]
+        // only on DeadCodes since it's never a problem for tuple struct fields
+        enum_variants_with_same_name: Vec<EnumVariantSameName<'tcx>>,
+        #[subdiagnostic]
         parent_info: Option<ParentInfo<'tcx>>,
         #[subdiagnostic]
         ignored_derived_impls: Option<IgnoredDerivedImpls>,
@@ -1499,6 +1502,15 @@ pub(crate) enum MultipleDeadCodes<'tcx> {
 }
 
 #[derive(Subdiagnostic)]
+#[note(passes_enum_variant_same_name)]
+pub(crate) struct EnumVariantSameName<'tcx> {
+    #[primary_span]
+    pub variant_span: Span,
+    pub dead_name: Symbol,
+    pub descr: &'tcx str,
+}
+
+#[derive(Subdiagnostic)]
 #[label(passes_parent_info)]
 pub(crate) struct ParentInfo<'tcx> {
     pub num: usize,