rustc_hir_analysis::collect::resolve_bound_vars

Function is_late_bound_map

source
fn is_late_bound_map(
    tcx: TyCtxt<'_>,
    owner_id: OwnerId,
) -> Option<&FxIndexSet<ItemLocalId>>
Expand description

Detects late-bound lifetimes and inserts them into late_bound.

A region declared on a fn is late-bound if:

  • it is constrained by an argument type;
  • it does not appear in a where-clause.

“Constrained” basically means that it appears in any type but not amongst the inputs to a projection. In other words, <&'a T as Trait<''b>>::Foo does not constrain 'a or 'b.