Module rustc_middle::mir::coverage

source ·
Expand description

Metadata from source code coverage analysis and instrumentation.


  • An ExpressionOperandId value is assigned directly from either a CounterValueReference.as_u32() (which ascend from 1) or an ExpressionOperandId.as_u32() (which descend from u32::MAX). Id value 0 (zero) represents a virtual counter with a constant value of 0.
  • InjectedExpressionId.as_u32() converts to ExpressionOperandId.as_u32()
  • InjectedExpressionIndex.as_u32() translates to u32::MAX - ExpressionOperandId.as_u32()
  • MappedExpressionIndex values ascend from zero, and are recalculated indexes based on their array position in the LLVM coverage map “Expressions” array, which is assembled during the “mapgen” process. They cannot be computed algorithmically, from the other newtype_indexs.