From e4622e0608a24c796dede1ff839ada61fa145a54 Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Thu, 22 Feb 2024 14:24:25 +0000 Subject: [PATCH] `report_mismatch` did not actually report anymore --- .../rustc_borrowck/src/region_infer/opaque_types.rs | 2 +- compiler/rustc_hir_analysis/src/check/check.rs | 2 +- .../rustc_hir_analysis/src/collect/type_of/opaque.rs | 12 +++++++----- compiler/rustc_hir_typeck/src/writeback.rs | 8 +++++--- compiler/rustc_middle/src/ty/mod.rs | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/compiler/rustc_borrowck/src/region_infer/opaque_types.rs b/compiler/rustc_borrowck/src/region_infer/opaque_types.rs index 34b104deb860d..4b096a592344a 100644 --- a/compiler/rustc_borrowck/src/region_infer/opaque_types.rs +++ b/compiler/rustc_borrowck/src/region_infer/opaque_types.rs @@ -154,7 +154,7 @@ impl<'tcx> RegionInferenceContext<'tcx> { if prev.ty != ty { let guar = ty.error_reported().err().unwrap_or_else(|| { let (Ok(e) | Err(e)) = prev - .report_mismatch( + .build_mismatch_error( &OpaqueHiddenType { ty, span: concrete_type.span }, opaque_type_key.def_id, infcx.tcx, diff --git a/compiler/rustc_hir_analysis/src/check/check.rs b/compiler/rustc_hir_analysis/src/check/check.rs index b95de635a866a..d87ddc6497df1 100644 --- a/compiler/rustc_hir_analysis/src/check/check.rs +++ b/compiler/rustc_hir_analysis/src/check/check.rs @@ -478,7 +478,7 @@ fn sanity_check_found_hidden_type<'tcx>( } else { let span = tcx.def_span(key.def_id); let other = ty::OpaqueHiddenType { ty: hidden_ty, span }; - Err(ty.report_mismatch(&other, key.def_id, tcx)?.emit()) + Err(ty.build_mismatch_error(&other, key.def_id, tcx)?.emit()) } } diff --git a/compiler/rustc_hir_analysis/src/collect/type_of/opaque.rs b/compiler/rustc_hir_analysis/src/collect/type_of/opaque.rs index 8e40157f615ba..f0e998b7a0032 100644 --- a/compiler/rustc_hir_analysis/src/collect/type_of/opaque.rs +++ b/compiler/rustc_hir_analysis/src/collect/type_of/opaque.rs @@ -59,7 +59,7 @@ pub(super) fn find_opaque_ty_constraints_for_impl_trait_in_assoc_type( if !hidden.ty.references_error() { for concrete_type in locator.typeck_types { if concrete_type.ty != tcx.erase_regions(hidden.ty) { - if let Ok(d) = hidden.report_mismatch(&concrete_type, def_id, tcx) { + if let Ok(d) = hidden.build_mismatch_error(&concrete_type, def_id, tcx) { d.emit(); } } @@ -135,7 +135,7 @@ pub(super) fn find_opaque_ty_constraints_for_tait(tcx: TyCtxt<'_>, def_id: Local if !hidden.ty.references_error() { for concrete_type in locator.typeck_types { if concrete_type.ty != tcx.erase_regions(hidden.ty) { - if let Ok(d) = hidden.report_mismatch(&concrete_type, def_id, tcx) { + if let Ok(d) = hidden.build_mismatch_error(&concrete_type, def_id, tcx) { d.emit(); } } @@ -289,7 +289,7 @@ impl TaitConstraintLocator<'_> { if let Some(prev) = &mut self.found { if concrete_type.ty != prev.ty { let (Ok(guar) | Err(guar)) = prev - .report_mismatch(&concrete_type, self.def_id, self.tcx) + .build_mismatch_error(&concrete_type, self.def_id, self.tcx) .map(|d| d.emit()); prev.ty = Ty::new_error(self.tcx, guar); } @@ -364,7 +364,7 @@ pub(super) fn find_opaque_ty_constraints_for_rpit<'tcx>( ); if let Some(prev) = &mut hir_opaque_ty { if concrete_type.ty != prev.ty { - if let Ok(d) = prev.report_mismatch(&concrete_type, def_id, tcx) { + if let Ok(d) = prev.build_mismatch_error(&concrete_type, def_id, tcx) { d.stash( tcx.def_span(opaque_type_key.def_id), StashKey::OpaqueHiddenTypeMismatch, @@ -441,7 +441,9 @@ impl RpitConstraintChecker<'_> { debug!(?concrete_type, "found constraint"); if concrete_type.ty != self.found.ty { - if let Ok(d) = self.found.report_mismatch(&concrete_type, self.def_id, self.tcx) { + if let Ok(d) = + self.found.build_mismatch_error(&concrete_type, self.def_id, self.tcx) + { d.emit(); } } diff --git a/compiler/rustc_hir_typeck/src/writeback.rs b/compiler/rustc_hir_typeck/src/writeback.rs index 0c0c87c9150a8..ed102a7fac0be 100644 --- a/compiler/rustc_hir_typeck/src/writeback.rs +++ b/compiler/rustc_hir_typeck/src/writeback.rs @@ -589,9 +589,11 @@ impl<'cx, 'tcx> WritebackCx<'cx, 'tcx> { && last_opaque_ty.ty != hidden_type.ty { assert!(!self.fcx.next_trait_solver()); - if let Ok(d) = - hidden_type.report_mismatch(&last_opaque_ty, opaque_type_key.def_id, self.tcx()) - { + if let Ok(d) = hidden_type.build_mismatch_error( + &last_opaque_ty, + opaque_type_key.def_id, + self.tcx(), + ) { d.stash( self.tcx().def_span(opaque_type_key.def_id), StashKey::OpaqueHiddenTypeMismatch, diff --git a/compiler/rustc_middle/src/ty/mod.rs b/compiler/rustc_middle/src/ty/mod.rs index 2cd56efd3437e..6c7ed14f5f124 100644 --- a/compiler/rustc_middle/src/ty/mod.rs +++ b/compiler/rustc_middle/src/ty/mod.rs @@ -840,7 +840,7 @@ pub struct OpaqueHiddenType<'tcx> { } impl<'tcx> OpaqueHiddenType<'tcx> { - pub fn report_mismatch( + pub fn build_mismatch_error( &self, other: &Self, opaque_def_id: LocalDefId,