coverage: Make query coverage_ids_info
return an Option
This reflects the fact that we can't compute meaningful info for a function that wasn't instrumented and therefore doesn't have `function_coverage_info`.
This commit is contained in:
parent
ec6fc95d6d
commit
ff48331588
4 changed files with 12 additions and 14 deletions
|
@ -87,15 +87,9 @@ fn coverage_attr_on(tcx: TyCtxt<'_>, def_id: LocalDefId) -> bool {
|
|||
fn coverage_ids_info<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
instance_def: ty::InstanceKind<'tcx>,
|
||||
) -> CoverageIdsInfo {
|
||||
) -> Option<CoverageIdsInfo> {
|
||||
let mir_body = tcx.instance_mir(instance_def);
|
||||
|
||||
let Some(fn_cov_info) = mir_body.function_coverage_info.as_deref() else {
|
||||
return CoverageIdsInfo {
|
||||
counters_seen: DenseBitSet::new_empty(0),
|
||||
zero_expressions: DenseBitSet::new_empty(0),
|
||||
};
|
||||
};
|
||||
let fn_cov_info = mir_body.function_coverage_info.as_deref()?;
|
||||
|
||||
let mut counters_seen = DenseBitSet::new_empty(fn_cov_info.num_counters);
|
||||
let mut expressions_seen = DenseBitSet::new_filled(fn_cov_info.expressions.len());
|
||||
|
@ -129,7 +123,7 @@ fn coverage_ids_info<'tcx>(
|
|||
let zero_expressions =
|
||||
identify_zero_expressions(fn_cov_info, &counters_seen, &expressions_seen);
|
||||
|
||||
CoverageIdsInfo { counters_seen, zero_expressions }
|
||||
Some(CoverageIdsInfo { counters_seen, zero_expressions })
|
||||
}
|
||||
|
||||
fn all_coverage_in_mir_body<'a, 'tcx>(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue