1
Fork 0

Rollup merge of #106784 - lyming2007:issue-106695-fix, r=WaffleLapkin

prevent E0512 from emitting [type error] by checking the references_error

but still emit E0512
this will fix #106695
This commit is contained in:
Matthias Krüger 2023-01-17 20:21:26 +01:00 committed by GitHub
commit 4ee5e09e19
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 26 deletions

View file

@ -105,6 +105,16 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
} else {
err.note(&format!("source type: `{}` ({})", from, skeleton_string(from, sk_from)))
.note(&format!("target type: `{}` ({})", to, skeleton_string(to, sk_to)));
let mut should_delay_as_bug = false;
if let Err(LayoutError::Unknown(bad_from)) = sk_from && bad_from.references_error() {
should_delay_as_bug = true;
}
if let Err(LayoutError::Unknown(bad_to)) = sk_to && bad_to.references_error() {
should_delay_as_bug = true;
}
if should_delay_as_bug {
err.delay_as_bug();
}
}
err.emit();
}