The OutlivesEnvironment collects information about what outlives
what in a given type-checking setting. For example, if we have a
where-clause like where T: 'a in scope, then the
OutlivesEnvironment would record that (in its
region_bound_pairs field). Similarly, it contains methods for
processing and adding implied bounds into the outlives
environment.
“Region-bound pairs” tracks outlives relations that are known to
be true, either because of explicit where-clauses like T: 'a or
because of implied bounds.