For each region param of this alias compute the indices of the identity args
that are known to outlive it, given only the aliasβs declared where-clauses.
For each captured region of this alias, compute the captured identity
args that are known to outlive it, given the definition of the opaque type
in the the parent context.
For a given alias type, this returns the set of indices into the identity generic args that
are relevant for liveness, that can be inferred from outlives bounds on the
alias itself, and the explicit and implicit outlives clauses of the alias.
Callers should use the indices with the concrete args of the alias.
For a param-env clause for<'v..> <T as Trait>::Assoc<..>: 'bound that
applies to ty (an alias with alias_def_id), returns the set of indices into the
identity args that the underlying type could possibly capture, as restricted by this clause.