use super::debug::term_type;
use super::graph::{BasicCoverageBlock, BasicCoverageBlockData, CoverageGraph, START_BCB};
+use itertools::Itertools;
use rustc_data_structures::graph::WithNumNodes;
use rustc_middle::mir::spanview::source_range_no_file;
use rustc_middle::mir::{
let stmt = &mir_body[bb].statements[stmt_index];
format!(
"{}: @{}[{}]: {:?}",
- source_range_no_file(tcx, &span),
+ source_range_no_file(tcx, span),
bb.index(),
stmt_index,
stmt
let term = mir_body[bb].terminator();
format!(
"{}: @{}.{}: {:?}",
- source_range_no_file(tcx, &span),
+ source_range_no_file(tcx, span),
bb.index(),
term_type(&term.kind),
term.kind
pub fn format<'tcx>(&self, tcx: TyCtxt<'tcx>, mir_body: &mir::Body<'tcx>) -> String {
format!(
"{}\n {}",
- source_range_no_file(tcx, &self.span),
+ source_range_no_file(tcx, self.span),
self.format_coverage_statements(tcx, mir_body).replace('\n', "\n "),
)
}
CoverageStatement::Statement(bb, _, index) => (bb, index),
CoverageStatement::Terminator(bb, _) => (bb, usize::MAX),
});
- sorted_coverage_statements
- .iter()
- .map(|covstmt| covstmt.format(tcx, mir_body))
- .collect::<Vec<_>>()
- .join("\n")
+ sorted_coverage_statements.iter().map(|covstmt| covstmt.format(tcx, mir_body)).join("\n")
}
/// If the span is part of a macro, returns the macro name symbol.