erase late-bound regions in dyn projection types for debuginfo

This commit is contained in:
Michael Goulet 2022-03-16 11:53:31 -07:00
parent 461e807801
commit b69b3d041a
2 changed files with 9 additions and 1 deletions

View File

@ -217,7 +217,8 @@ fn push_debuginfo_type_name<'tcx>(
let projection_bounds: SmallVec<[_; 4]> = trait_data
.projection_bounds()
.map(|bound| {
let ExistentialProjection { item_def_id, term, .. } = bound.skip_binder();
let ExistentialProjection { item_def_id, term, .. } =
tcx.erase_late_bound_regions(bound);
// FIXME(associated_const_equality): allow for consts here
(item_def_id, term.ty().unwrap())
})

View File

@ -0,0 +1,7 @@
// build-pass
// compile-flags: -Cdebuginfo=2 --crate-type=rlib
// Fixes issue #94998
pub trait Trait {}
pub fn run(_: &dyn FnOnce(&()) -> Box<dyn Trait + '_>) {}