Handle normalization failure in struct_tail_erasing_lifetimes
Fixes an ICE that occurred when the struct in question has an error
This commit is contained in:
parent
c3202afa28
commit
cacc0829ff
@ -338,13 +338,14 @@ impl<'tcx> SizeSkeleton<'tcx> {
|
|||||||
pointee,
|
pointee,
|
||||||
|ty| match tcx.try_normalize_erasing_regions(param_env, ty) {
|
|ty| match tcx.try_normalize_erasing_regions(param_env, ty) {
|
||||||
Ok(ty) => ty,
|
Ok(ty) => ty,
|
||||||
Err(_e) => {
|
Err(e) => Ty::new_error_with_message(
|
||||||
if let Some(guar) = tcx.dcx().has_errors() {
|
tcx,
|
||||||
Ty::new_error(tcx, guar)
|
DUMMY_SP,
|
||||||
} else {
|
format!(
|
||||||
bug!("normalization failed, but no errors reported");
|
"normalization failed for {} but no errors reported",
|
||||||
}
|
e.get_type_for_failure()
|
||||||
}
|
),
|
||||||
|
),
|
||||||
},
|
},
|
||||||
|| {},
|
|| {},
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user