report_mismatch
did not actually report anymore
This commit is contained in:
parent
e3021eb245
commit
e4622e0608
5 changed files with 15 additions and 11 deletions
|
@ -154,7 +154,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
|
||||||
if prev.ty != ty {
|
if prev.ty != ty {
|
||||||
let guar = ty.error_reported().err().unwrap_or_else(|| {
|
let guar = ty.error_reported().err().unwrap_or_else(|| {
|
||||||
let (Ok(e) | Err(e)) = prev
|
let (Ok(e) | Err(e)) = prev
|
||||||
.report_mismatch(
|
.build_mismatch_error(
|
||||||
&OpaqueHiddenType { ty, span: concrete_type.span },
|
&OpaqueHiddenType { ty, span: concrete_type.span },
|
||||||
opaque_type_key.def_id,
|
opaque_type_key.def_id,
|
||||||
infcx.tcx,
|
infcx.tcx,
|
||||||
|
|
|
@ -478,7 +478,7 @@ fn sanity_check_found_hidden_type<'tcx>(
|
||||||
} else {
|
} else {
|
||||||
let span = tcx.def_span(key.def_id);
|
let span = tcx.def_span(key.def_id);
|
||||||
let other = ty::OpaqueHiddenType { ty: hidden_ty, span };
|
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())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ pub(super) fn find_opaque_ty_constraints_for_impl_trait_in_assoc_type(
|
||||||
if !hidden.ty.references_error() {
|
if !hidden.ty.references_error() {
|
||||||
for concrete_type in locator.typeck_types {
|
for concrete_type in locator.typeck_types {
|
||||||
if concrete_type.ty != tcx.erase_regions(hidden.ty) {
|
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();
|
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() {
|
if !hidden.ty.references_error() {
|
||||||
for concrete_type in locator.typeck_types {
|
for concrete_type in locator.typeck_types {
|
||||||
if concrete_type.ty != tcx.erase_regions(hidden.ty) {
|
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();
|
d.emit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -289,7 +289,7 @@ impl TaitConstraintLocator<'_> {
|
||||||
if let Some(prev) = &mut self.found {
|
if let Some(prev) = &mut self.found {
|
||||||
if concrete_type.ty != prev.ty {
|
if concrete_type.ty != prev.ty {
|
||||||
let (Ok(guar) | Err(guar)) = prev
|
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());
|
.map(|d| d.emit());
|
||||||
prev.ty = Ty::new_error(self.tcx, guar);
|
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 let Some(prev) = &mut hir_opaque_ty {
|
||||||
if concrete_type.ty != prev.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(
|
d.stash(
|
||||||
tcx.def_span(opaque_type_key.def_id),
|
tcx.def_span(opaque_type_key.def_id),
|
||||||
StashKey::OpaqueHiddenTypeMismatch,
|
StashKey::OpaqueHiddenTypeMismatch,
|
||||||
|
@ -441,7 +441,9 @@ impl RpitConstraintChecker<'_> {
|
||||||
debug!(?concrete_type, "found constraint");
|
debug!(?concrete_type, "found constraint");
|
||||||
|
|
||||||
if concrete_type.ty != self.found.ty {
|
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();
|
d.emit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -589,9 +589,11 @@ impl<'cx, 'tcx> WritebackCx<'cx, 'tcx> {
|
||||||
&& last_opaque_ty.ty != hidden_type.ty
|
&& last_opaque_ty.ty != hidden_type.ty
|
||||||
{
|
{
|
||||||
assert!(!self.fcx.next_trait_solver());
|
assert!(!self.fcx.next_trait_solver());
|
||||||
if let Ok(d) =
|
if let Ok(d) = hidden_type.build_mismatch_error(
|
||||||
hidden_type.report_mismatch(&last_opaque_ty, opaque_type_key.def_id, self.tcx())
|
&last_opaque_ty,
|
||||||
{
|
opaque_type_key.def_id,
|
||||||
|
self.tcx(),
|
||||||
|
) {
|
||||||
d.stash(
|
d.stash(
|
||||||
self.tcx().def_span(opaque_type_key.def_id),
|
self.tcx().def_span(opaque_type_key.def_id),
|
||||||
StashKey::OpaqueHiddenTypeMismatch,
|
StashKey::OpaqueHiddenTypeMismatch,
|
||||||
|
|
|
@ -840,7 +840,7 @@ pub struct OpaqueHiddenType<'tcx> {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'tcx> OpaqueHiddenType<'tcx> {
|
impl<'tcx> OpaqueHiddenType<'tcx> {
|
||||||
pub fn report_mismatch(
|
pub fn build_mismatch_error(
|
||||||
&self,
|
&self,
|
||||||
other: &Self,
|
other: &Self,
|
||||||
opaque_def_id: LocalDefId,
|
opaque_def_id: LocalDefId,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue