Skip to content

Commit 7c76995

Browse files
committed
coverage: Pass ExtractedHirInfo to make_source_region
This isn't strictly necessary, but makes it easier to distinguish `body_span` from the specific `span` being processed.
1 parent 78bb5ee commit 7c76995

File tree

1 file changed

+4
-4
lines changed
  • compiler/rustc_mir_transform/src/coverage

1 file changed

+4
-4
lines changed

compiler/rustc_mir_transform/src/coverage/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use rustc_middle::ty::TyCtxt;
2323
use rustc_span::def_id::LocalDefId;
2424
use rustc_span::source_map::SourceMap;
2525
use rustc_span::{BytePos, Pos, RelativeBytePos, Span, Symbol};
26-
use tracing::{debug, debug_span, instrument, trace};
26+
use tracing::{debug, debug_span, trace};
2727

2828
use crate::coverage::counters::{CounterIncrementSite, CoverageCounters};
2929
use crate::coverage::graph::CoverageGraph;
@@ -154,7 +154,7 @@ fn create_mappings<'tcx>(
154154

155155
let term_for_bcb =
156156
|bcb| coverage_counters.term_for_bcb(bcb).expect("all BCBs with spans were given counters");
157-
let region_for_span = |span: Span| make_source_region(source_map, file_name, span, body_span);
157+
let region_for_span = |span: Span| make_source_region(source_map, hir_info, file_name, span);
158158

159159
// Fully destructure the mappings struct to make sure we don't miss any kinds.
160160
let ExtractedMappings {
@@ -408,12 +408,11 @@ fn inject_statement(mir_body: &mut mir::Body<'_>, counter_kind: CoverageKind, bb
408408
/// but it's hard to rule out entirely (especially in the presence of complex macros
409409
/// or other expansions), and if it does happen then skipping a span or function is
410410
/// better than an ICE or `llvm-cov` failure that the user might have no way to avoid.
411-
#[instrument(level = "debug", skip(source_map))]
412411
fn make_source_region(
413412
source_map: &SourceMap,
413+
hir_info: &ExtractedHirInfo,
414414
file_name: Symbol,
415415
span: Span,
416-
body_span: Span,
417416
) -> Option<SourceRegion> {
418417
let lo = span.lo();
419418
let hi = span.hi();
@@ -441,6 +440,7 @@ fn make_source_region(
441440
// worth of bytes, so that it is more visible in `llvm-cov` reports.
442441
// We do this after resolving line/column numbers, so that empty spans at the
443442
// end of a line get an extra column instead of wrapping to the next line.
443+
let body_span = hir_info.body_span;
444444
if span.is_empty()
445445
&& body_span.contains(span)
446446
&& let Some(src) = &file.src

0 commit comments

Comments
 (0)