Rollup merge of #128712 - compiler-errors:normalize-borrowck, r=lcnr
Normalize struct tail properly for `dyn` ptr-to-ptr casting in new solver Realized that the new solver didn't handle ptr-to-ptr casting correctly. r? lcnr Built on #128694
This commit is contained in:
commit
4c49418472
15 changed files with 95 additions and 38 deletions
|
@ -219,9 +219,13 @@ fn layout_of_uncached<'tcx>(
|
|||
// its struct tail cannot be normalized either, so try to get a
|
||||
// more descriptive layout error here, which will lead to less confusing
|
||||
// diagnostics.
|
||||
//
|
||||
// We use the raw struct tail function here to get the first tail
|
||||
// that is an alias, which is likely the cause of the normalization
|
||||
// error.
|
||||
match tcx.try_normalize_erasing_regions(
|
||||
param_env,
|
||||
tcx.struct_tail_without_normalization(pointee),
|
||||
tcx.struct_tail_raw(pointee, |ty| ty, || {}),
|
||||
) {
|
||||
Ok(_) => {}
|
||||
Err(better_err) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue