Assert index sanity.
This commit is contained in:
parent
a424090252
commit
c95ff1d52b
1 changed files with 7 additions and 2 deletions
|
@ -1486,6 +1486,10 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
|
||||||
|
|
||||||
let map = &self.map;
|
let map = &self.map;
|
||||||
let generics = self.tcx.generics_of(def_id);
|
let generics = self.tcx.generics_of(def_id);
|
||||||
|
|
||||||
|
// `type_def_id` points to an item, so there is nothing to inherit generics from.
|
||||||
|
debug_assert_eq!(generics.parent_count, 0);
|
||||||
|
|
||||||
let set_to_region = |set: ObjectLifetimeDefault| match set {
|
let set_to_region = |set: ObjectLifetimeDefault| match set {
|
||||||
ObjectLifetimeDefault::Empty => {
|
ObjectLifetimeDefault::Empty => {
|
||||||
if in_body {
|
if in_body {
|
||||||
|
@ -1496,8 +1500,9 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
|
||||||
}
|
}
|
||||||
ObjectLifetimeDefault::Static => Some(Region::Static),
|
ObjectLifetimeDefault::Static => Some(Region::Static),
|
||||||
ObjectLifetimeDefault::Param(param_def_id) => {
|
ObjectLifetimeDefault::Param(param_def_id) => {
|
||||||
let index = generics.param_def_id_to_index[¶m_def_id];
|
// This index can be used with `generic_args` since `parent_count == 0`.
|
||||||
generic_args.args.get(index as usize).and_then(|arg| match arg {
|
let index = generics.param_def_id_to_index[¶m_def_id] as usize;
|
||||||
|
generic_args.args.get(index).and_then(|arg| match arg {
|
||||||
GenericArg::Lifetime(lt) => map.defs.get(<.hir_id).copied(),
|
GenericArg::Lifetime(lt) => map.defs.get(<.hir_id).copied(),
|
||||||
_ => None,
|
_ => None,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue