• When we initially compute liveness, we use an interval matrix storing liveness ranges for each region-vid.
  • A single integer representing a ty::Placeholder.
  • Maps from ty::PlaceholderRegion values that are used in the rest of rustc to the internal PlaceholderIndex values that are used in NLL.
  • A single integer representing a Location in the MIR control-flow graph. Constructed efficiently from RegionValueElements.
  • Maps between a Location and a PointIndex (and vice versa).
  • Stores the full values for a set of regions (in contrast to LivenessValues, which only stores those points in the where a region is live). The full value for a region may contain points in the CFG, but also free regions as well as bound universe placeholders.


  • An individual element in a region value – the value of a particular region variable consists of a set of these elements.