old solver: improve normalization of Pointee::Metadata
This commit is contained in:
parent
77fb540684
commit
0c1f401d98
5 changed files with 113 additions and 39 deletions
|
@ -377,12 +377,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
|||
// to fields, which can yield non-normalized types. So we need to provide a
|
||||
// normalization function.
|
||||
let normalize = |ty| self.tcx.normalize_erasing_regions(self.param_env, ty);
|
||||
let (meta, only_if_sized) = ty.ptr_metadata_ty(*self.tcx, normalize);
|
||||
assert!(
|
||||
!only_if_sized,
|
||||
"there should be no more 'maybe has that metadata' types during interpretation"
|
||||
);
|
||||
meta
|
||||
ty.ptr_metadata_ty(*self.tcx, normalize)
|
||||
};
|
||||
return Ok(meta_ty(caller) == meta_ty(callee));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue