No need to take opaques in check_type_bounds
This commit is contained in:
parent
89e0576bd3
commit
5132e13f13
1 changed files with 1 additions and 17 deletions
|
@ -424,7 +424,7 @@ fn compare_asyncness<'tcx>(
|
||||||
ty::Alias(ty::Opaque, ..) => {
|
ty::Alias(ty::Opaque, ..) => {
|
||||||
// allow both `async fn foo()` and `fn foo() -> impl Future`
|
// allow both `async fn foo()` and `fn foo() -> impl Future`
|
||||||
}
|
}
|
||||||
ty::Error(rustc_errors::ErrorGuaranteed { .. }) => {
|
ty::Error(_) => {
|
||||||
// We don't know if it's ok, but at least it's already an error.
|
// We don't know if it's ok, but at least it's already an error.
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
|
@ -1971,22 +1971,6 @@ pub(super) fn check_type_bounds<'tcx>(
|
||||||
&outlives_environment,
|
&outlives_environment,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
let constraints = infcx.inner.borrow_mut().opaque_type_storage.take_opaque_types();
|
|
||||||
for (key, value) in constraints {
|
|
||||||
infcx
|
|
||||||
.err_ctxt()
|
|
||||||
.report_mismatched_types(
|
|
||||||
&ObligationCause::misc(
|
|
||||||
value.hidden_type.span,
|
|
||||||
tcx.hir().local_def_id_to_hir_id(impl_ty.def_id.expect_local()),
|
|
||||||
),
|
|
||||||
tcx.mk_opaque(key.def_id.to_def_id(), key.substs),
|
|
||||||
value.hidden_type.ty,
|
|
||||||
TypeError::Mismatch,
|
|
||||||
)
|
|
||||||
.emit();
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue