diff options
| author | tiif <pekyuan@gmail.com> | 2025-09-22 15:50:22 +0000 |
|---|---|---|
| committer | tiif <pekyuan@gmail.com> | 2025-09-24 13:29:23 +0000 |
| commit | 30289353e8e04eff33a0e533b6b398c308b24025 (patch) | |
| tree | 257214e6737c0d65edbc3e9c9d1b1dc878af6f13 /compiler/rustc_trait_selection | |
| parent | 29005cb128e6d447e6bd9c110c9a684665f95985 (diff) | |
| download | rust-30289353e8e04eff33a0e533b6b398c308b24025.tar.gz rust-30289353e8e04eff33a0e533b6b398c308b24025.zip | |
Improve derive suggestion of const param
Make the suggestion not to remove the adt and use the name of the adt variant
Diffstat (limited to 'compiler/rustc_trait_selection')
| -rw-r--r-- | compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs b/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs index 149f5e638b1..d485eb7266b 100644 --- a/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs +++ b/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs @@ -1305,8 +1305,8 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> { { if ty.is_structural_eq_shallow(self.tcx) { diag.span_suggestion( - span, - "add `#[derive(ConstParamTy)]` to the struct", + span.shrink_to_lo(), + format!("add `#[derive(ConstParamTy)]` to the {}", def.descr()), "#[derive(ConstParamTy)]\n", Applicability::MachineApplicable, ); @@ -1314,8 +1314,11 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> { // FIXME(adt_const_params): We should check there's not already an // overlapping `Eq`/`PartialEq` impl. diag.span_suggestion( - span, - "add `#[derive(ConstParamTy, PartialEq, Eq)]` to the struct", + span.shrink_to_lo(), + format!( + "add `#[derive(ConstParamTy, PartialEq, Eq)]` to the {}", + def.descr() + ), "#[derive(ConstParamTy, PartialEq, Eq)]\n", Applicability::MachineApplicable, ); |
