diff options
| author | Jana Dönszelmann <jana@donsz.nl> | 2025-06-12 10:21:30 +0200 |
|---|---|---|
| committer | Jana Dönszelmann <jana@donsz.nl> | 2025-06-12 12:26:27 +0200 |
| commit | 2e7e52e07cec3adb2b14ce17faffe039216ed9d7 (patch) | |
| tree | 1c9b4d76d0288c4ab8c76a2e04b589249de35632 /compiler/rustc_passes/src/errors.rs | |
| parent | 975741c29417034e9026e53fba16f3b7d5c5721b (diff) | |
| download | rust-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.rs | 12 |
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, |
