Rollup merge of #132675 - Zalathar:empty-spans, r=jieyouxu
coverage: Restrict empty-span expansion to only cover `{` and `}` Coverage instrumentation has some tricky code for converting a coverage-relevant `Span` into a set of start/end line/byte-column coordinates that will be embedded in the CGU's coverage metadata. A big part of this complexity is special code for handling empty spans, which are expanded into non-empty spans (if possible) because LLVM's coverage reporter does not handle empty spans well. This PR simplifies that code by restricting it to only apply in two specific situations: when the character after the empty span is `{`, or the character before the empty span is `}`. (As an added benefit, this means that the expanded spans no longer extend awkwardly beyond the end of a physical line, which was common under the previous implementation.) Along the way, this PR also removes some unhelpful code for dealing with function source code spread across multiple files. Functions currently can't have coverage spans in multiple files, and if that ever changes (e.g. to properly support expansion regions) then this code will need to be completely overhauled anyway.
This commit is contained in:
commit
b95232dabb
@ -1,5 +1,7 @@
|
||||
use rustc_middle::mir::coverage::{CounterId, CovTerm, ExpressionId, SourceRegion};
|
||||
|
||||
use crate::coverageinfo::mapgen::LocalFileId;
|
||||
|
||||
/// Must match the layout of `LLVMRustCounterKind`.
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
#[repr(C)]
|
||||
@ -137,8 +139,12 @@ pub(crate) struct CoverageSpan {
|
||||
}
|
||||
|
||||
impl CoverageSpan {
|
||||
pub(crate) fn from_source_region(file_id: u32, code_region: &SourceRegion) -> Self {
|
||||
let &SourceRegion { file_name: _, start_line, start_col, end_line, end_col } = code_region;
|
||||
pub(crate) fn from_source_region(
|
||||
local_file_id: LocalFileId,
|
||||
code_region: &SourceRegion,
|
||||
) -> Self {
|
||||
let file_id = local_file_id.as_u32();
|
||||
let &SourceRegion { start_line, start_col, end_line, end_col } = code_region;
|
||||
// Internally, LLVM uses the high bit of `end_col` to distinguish between
|
||||
// code regions and gap regions, so it can't be used by the column number.
|
||||
assert!(end_col & (1u32 << 31) == 0, "high bit of `end_col` must be unset: {end_col:#X}");
|
||||
|
@ -6,7 +6,6 @@
|
||||
SourceRegion,
|
||||
};
|
||||
use rustc_middle::ty::Instance;
|
||||
use rustc_span::Symbol;
|
||||
use tracing::{debug, instrument};
|
||||
|
||||
use crate::coverageinfo::ffi::{Counter, CounterExpression, ExprKind};
|
||||
@ -180,7 +179,7 @@ pub(crate) fn into_finished(self) -> FunctionCoverage<'tcx> {
|
||||
}
|
||||
|
||||
pub(crate) struct FunctionCoverage<'tcx> {
|
||||
function_coverage_info: &'tcx FunctionCoverageInfo,
|
||||
pub(crate) function_coverage_info: &'tcx FunctionCoverageInfo,
|
||||
is_used: bool,
|
||||
|
||||
counters_seen: BitSet<CounterId>,
|
||||
@ -199,11 +198,6 @@ pub(crate) fn source_hash(&self) -> u64 {
|
||||
if self.is_used { self.function_coverage_info.function_source_hash } else { 0 }
|
||||
}
|
||||
|
||||
/// Returns an iterator over all filenames used by this function's mappings.
|
||||
pub(crate) fn all_file_names(&self) -> impl Iterator<Item = Symbol> + Captures<'_> {
|
||||
self.function_coverage_info.mappings.iter().map(|mapping| mapping.source_region.file_name)
|
||||
}
|
||||
|
||||
/// Convert this function's coverage expression data into a form that can be
|
||||
/// passed through FFI to LLVM.
|
||||
pub(crate) fn counter_expressions(
|
||||
|
@ -12,8 +12,10 @@
|
||||
use rustc_middle::mir::coverage::MappingKind;
|
||||
use rustc_middle::ty::{self, TyCtxt};
|
||||
use rustc_middle::{bug, mir};
|
||||
use rustc_span::Symbol;
|
||||
use rustc_session::RemapFileNameExt;
|
||||
use rustc_session::config::RemapPathScopeComponents;
|
||||
use rustc_span::def_id::DefIdSet;
|
||||
use rustc_span::{Span, Symbol};
|
||||
use rustc_target::spec::HasTargetSpec;
|
||||
use tracing::debug;
|
||||
|
||||
@ -70,8 +72,10 @@ pub(crate) fn finalize(cx: &CodegenCx<'_, '_>) {
|
||||
.map(|(instance, function_coverage)| (instance, function_coverage.into_finished()))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let all_file_names =
|
||||
function_coverage_entries.iter().flat_map(|(_, fn_cov)| fn_cov.all_file_names());
|
||||
let all_file_names = function_coverage_entries
|
||||
.iter()
|
||||
.map(|(_, fn_cov)| fn_cov.function_coverage_info.body_span)
|
||||
.map(|span| span_file_name(tcx, span));
|
||||
let global_file_table = GlobalFileTable::new(all_file_names);
|
||||
|
||||
// Encode all filenames referenced by coverage mappings in this CGU.
|
||||
@ -96,7 +100,7 @@ pub(crate) fn finalize(cx: &CodegenCx<'_, '_>) {
|
||||
let is_used = function_coverage.is_used();
|
||||
|
||||
let coverage_mapping_buffer =
|
||||
encode_mappings_for_function(&global_file_table, &function_coverage);
|
||||
encode_mappings_for_function(tcx, &global_file_table, &function_coverage);
|
||||
|
||||
if coverage_mapping_buffer.is_empty() {
|
||||
if function_coverage.is_used() {
|
||||
@ -164,13 +168,13 @@ fn new(all_file_names: impl IntoIterator<Item = Symbol>) -> Self {
|
||||
Self { raw_file_table }
|
||||
}
|
||||
|
||||
fn global_file_id_for_file_name(&self, file_name: Symbol) -> u32 {
|
||||
fn global_file_id_for_file_name(&self, file_name: Symbol) -> GlobalFileId {
|
||||
let raw_id = self.raw_file_table.get_index_of(&file_name).unwrap_or_else(|| {
|
||||
bug!("file name not found in prepared global file table: {file_name}");
|
||||
});
|
||||
// The raw file table doesn't include an entry for the working dir
|
||||
// (which has ID 0), so add 1 to get the correct ID.
|
||||
(raw_id + 1) as u32
|
||||
GlobalFileId::from_usize(raw_id + 1)
|
||||
}
|
||||
|
||||
fn make_filenames_buffer(&self, tcx: TyCtxt<'_>) -> Vec<u8> {
|
||||
@ -196,19 +200,27 @@ fn make_filenames_buffer(&self, tcx: TyCtxt<'_>) -> Vec<u8> {
|
||||
}
|
||||
|
||||
rustc_index::newtype_index! {
|
||||
struct LocalFileId {}
|
||||
/// An index into the CGU's overall list of file paths. The underlying paths
|
||||
/// will be embedded in the `__llvm_covmap` linker section.
|
||||
struct GlobalFileId {}
|
||||
}
|
||||
rustc_index::newtype_index! {
|
||||
/// An index into a function's list of global file IDs. That underlying list
|
||||
/// of local-to-global mappings will be embedded in the function's record in
|
||||
/// the `__llvm_covfun` linker section.
|
||||
pub(crate) struct LocalFileId {}
|
||||
}
|
||||
|
||||
/// Holds a mapping from "local" (per-function) file IDs to "global" (per-CGU)
|
||||
/// file IDs.
|
||||
#[derive(Default)]
|
||||
struct VirtualFileMapping {
|
||||
local_to_global: IndexVec<LocalFileId, u32>,
|
||||
global_to_local: FxIndexMap<u32, LocalFileId>,
|
||||
local_to_global: IndexVec<LocalFileId, GlobalFileId>,
|
||||
global_to_local: FxIndexMap<GlobalFileId, LocalFileId>,
|
||||
}
|
||||
|
||||
impl VirtualFileMapping {
|
||||
fn local_id_for_global(&mut self, global_file_id: u32) -> LocalFileId {
|
||||
fn local_id_for_global(&mut self, global_file_id: GlobalFileId) -> LocalFileId {
|
||||
*self
|
||||
.global_to_local
|
||||
.entry(global_file_id)
|
||||
@ -216,16 +228,26 @@ fn local_id_for_global(&mut self, global_file_id: u32) -> LocalFileId {
|
||||
}
|
||||
|
||||
fn into_vec(self) -> Vec<u32> {
|
||||
self.local_to_global.raw
|
||||
// This conversion should be optimized away to ~zero overhead.
|
||||
// In any case, it's probably not hot enough to worry about.
|
||||
self.local_to_global.into_iter().map(|global| global.as_u32()).collect()
|
||||
}
|
||||
}
|
||||
|
||||
fn span_file_name(tcx: TyCtxt<'_>, span: Span) -> Symbol {
|
||||
let source_file = tcx.sess.source_map().lookup_source_file(span.lo());
|
||||
let name =
|
||||
source_file.name.for_scope(tcx.sess, RemapPathScopeComponents::MACRO).to_string_lossy();
|
||||
Symbol::intern(&name)
|
||||
}
|
||||
|
||||
/// Using the expressions and counter regions collected for a single function,
|
||||
/// generate the variable-sized payload of its corresponding `__llvm_covfun`
|
||||
/// entry. The payload is returned as a vector of bytes.
|
||||
///
|
||||
/// Newly-encountered filenames will be added to the global file table.
|
||||
fn encode_mappings_for_function(
|
||||
tcx: TyCtxt<'_>,
|
||||
global_file_table: &GlobalFileTable,
|
||||
function_coverage: &FunctionCoverage<'_>,
|
||||
) -> Vec<u8> {
|
||||
@ -242,53 +264,45 @@ fn encode_mappings_for_function(
|
||||
let mut mcdc_branch_regions = vec![];
|
||||
let mut mcdc_decision_regions = vec![];
|
||||
|
||||
// Group mappings into runs with the same filename, preserving the order
|
||||
// yielded by `FunctionCoverage`.
|
||||
// Prepare file IDs for each filename, and prepare the mapping data so that
|
||||
// we can pass it through FFI to LLVM.
|
||||
for (file_name, counter_regions_for_file) in
|
||||
&counter_regions.group_by(|(_, region)| region.file_name)
|
||||
{
|
||||
// Look up the global file ID for this filename.
|
||||
let global_file_id = global_file_table.global_file_id_for_file_name(file_name);
|
||||
// Currently a function's mappings must all be in the same file as its body span.
|
||||
let file_name = span_file_name(tcx, function_coverage.function_coverage_info.body_span);
|
||||
|
||||
// Associate that global file ID with a local file ID for this function.
|
||||
let local_file_id = virtual_file_mapping.local_id_for_global(global_file_id);
|
||||
debug!(" file id: {local_file_id:?} => global {global_file_id} = '{file_name:?}'");
|
||||
// Look up the global file ID for that filename.
|
||||
let global_file_id = global_file_table.global_file_id_for_file_name(file_name);
|
||||
|
||||
// For each counter/region pair in this function+file, convert it to a
|
||||
// form suitable for FFI.
|
||||
for (mapping_kind, region) in counter_regions_for_file {
|
||||
debug!("Adding counter {mapping_kind:?} to map for {region:?}");
|
||||
let span = ffi::CoverageSpan::from_source_region(local_file_id.as_u32(), region);
|
||||
match mapping_kind {
|
||||
MappingKind::Code(term) => {
|
||||
code_regions
|
||||
.push(ffi::CodeRegion { span, counter: ffi::Counter::from_term(term) });
|
||||
}
|
||||
MappingKind::Branch { true_term, false_term } => {
|
||||
branch_regions.push(ffi::BranchRegion {
|
||||
span,
|
||||
true_counter: ffi::Counter::from_term(true_term),
|
||||
false_counter: ffi::Counter::from_term(false_term),
|
||||
});
|
||||
}
|
||||
MappingKind::MCDCBranch { true_term, false_term, mcdc_params } => {
|
||||
mcdc_branch_regions.push(ffi::MCDCBranchRegion {
|
||||
span,
|
||||
true_counter: ffi::Counter::from_term(true_term),
|
||||
false_counter: ffi::Counter::from_term(false_term),
|
||||
mcdc_branch_params: ffi::mcdc::BranchParameters::from(mcdc_params),
|
||||
});
|
||||
}
|
||||
MappingKind::MCDCDecision(mcdc_decision_params) => {
|
||||
mcdc_decision_regions.push(ffi::MCDCDecisionRegion {
|
||||
span,
|
||||
mcdc_decision_params: ffi::mcdc::DecisionParameters::from(
|
||||
mcdc_decision_params,
|
||||
),
|
||||
});
|
||||
}
|
||||
// Associate that global file ID with a local file ID for this function.
|
||||
let local_file_id = virtual_file_mapping.local_id_for_global(global_file_id);
|
||||
debug!(" file id: {local_file_id:?} => {global_file_id:?} = '{file_name:?}'");
|
||||
|
||||
// For each counter/region pair in this function+file, convert it to a
|
||||
// form suitable for FFI.
|
||||
for (mapping_kind, region) in counter_regions {
|
||||
debug!("Adding counter {mapping_kind:?} to map for {region:?}");
|
||||
let span = ffi::CoverageSpan::from_source_region(local_file_id, region);
|
||||
match mapping_kind {
|
||||
MappingKind::Code(term) => {
|
||||
code_regions.push(ffi::CodeRegion { span, counter: ffi::Counter::from_term(term) });
|
||||
}
|
||||
MappingKind::Branch { true_term, false_term } => {
|
||||
branch_regions.push(ffi::BranchRegion {
|
||||
span,
|
||||
true_counter: ffi::Counter::from_term(true_term),
|
||||
false_counter: ffi::Counter::from_term(false_term),
|
||||
});
|
||||
}
|
||||
MappingKind::MCDCBranch { true_term, false_term, mcdc_params } => {
|
||||
mcdc_branch_regions.push(ffi::MCDCBranchRegion {
|
||||
span,
|
||||
true_counter: ffi::Counter::from_term(true_term),
|
||||
false_counter: ffi::Counter::from_term(false_term),
|
||||
mcdc_branch_params: ffi::mcdc::BranchParameters::from(mcdc_params),
|
||||
});
|
||||
}
|
||||
MappingKind::MCDCDecision(mcdc_decision_params) => {
|
||||
mcdc_decision_regions.push(ffi::MCDCDecisionRegion {
|
||||
span,
|
||||
mcdc_decision_params: ffi::mcdc::DecisionParameters::from(mcdc_decision_params),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
use rustc_index::IndexVec;
|
||||
use rustc_macros::{HashStable, TyDecodable, TyEncodable, TypeFoldable, TypeVisitable};
|
||||
use rustc_span::{Span, Symbol};
|
||||
use rustc_span::Span;
|
||||
|
||||
rustc_index::newtype_index! {
|
||||
/// Used by [`CoverageKind::BlockMarker`] to mark blocks during THIR-to-MIR
|
||||
@ -158,7 +158,6 @@ fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
|
||||
#[derive(Clone, TyEncodable, TyDecodable, Hash, HashStable, PartialEq, Eq, PartialOrd, Ord)]
|
||||
#[derive(TypeFoldable, TypeVisitable)]
|
||||
pub struct SourceRegion {
|
||||
pub file_name: Symbol,
|
||||
pub start_line: u32,
|
||||
pub start_col: u32,
|
||||
pub end_line: u32,
|
||||
@ -167,11 +166,8 @@ pub struct SourceRegion {
|
||||
|
||||
impl Debug for SourceRegion {
|
||||
fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
|
||||
write!(
|
||||
fmt,
|
||||
"{}:{}:{} - {}:{}",
|
||||
self.file_name, self.start_line, self.start_col, self.end_line, self.end_col
|
||||
)
|
||||
let &Self { start_line, start_col, end_line, end_col } = self;
|
||||
write!(fmt, "{start_line}:{start_col} - {end_line}:{end_col}")
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,6 +242,7 @@ pub struct Mapping {
|
||||
#[derive(TyEncodable, TyDecodable, Hash, HashStable, TypeFoldable, TypeVisitable)]
|
||||
pub struct FunctionCoverageInfo {
|
||||
pub function_source_hash: u64,
|
||||
pub body_span: Span,
|
||||
pub num_counters: usize,
|
||||
pub mcdc_bitmap_bits: usize,
|
||||
pub expressions: IndexVec<ExpressionId, Expression>,
|
||||
|
@ -596,8 +596,10 @@ fn write_function_coverage_info(
|
||||
function_coverage_info: &coverage::FunctionCoverageInfo,
|
||||
w: &mut dyn io::Write,
|
||||
) -> io::Result<()> {
|
||||
let coverage::FunctionCoverageInfo { expressions, mappings, .. } = function_coverage_info;
|
||||
let coverage::FunctionCoverageInfo { body_span, expressions, mappings, .. } =
|
||||
function_coverage_info;
|
||||
|
||||
writeln!(w, "{INDENT}coverage body span: {body_span:?}")?;
|
||||
for (id, expression) in expressions.iter_enumerated() {
|
||||
writeln!(w, "{INDENT}coverage {id:?} => {expression:?};")?;
|
||||
}
|
||||
|
@ -22,8 +22,8 @@
|
||||
use rustc_middle::ty::TyCtxt;
|
||||
use rustc_span::def_id::LocalDefId;
|
||||
use rustc_span::source_map::SourceMap;
|
||||
use rustc_span::{BytePos, Pos, RelativeBytePos, Span, Symbol};
|
||||
use tracing::{debug, debug_span, instrument, trace};
|
||||
use rustc_span::{BytePos, Pos, SourceFile, Span};
|
||||
use tracing::{debug, debug_span, trace};
|
||||
|
||||
use crate::coverage::counters::{CounterIncrementSite, CoverageCounters};
|
||||
use crate::coverage::graph::CoverageGraph;
|
||||
@ -122,6 +122,7 @@ fn instrument_function_for_coverage<'tcx>(tcx: TyCtxt<'tcx>, mir_body: &mut mir:
|
||||
|
||||
mir_body.function_coverage_info = Some(Box::new(FunctionCoverageInfo {
|
||||
function_source_hash: hir_info.function_source_hash,
|
||||
body_span: hir_info.body_span,
|
||||
num_counters: coverage_counters.num_counters(),
|
||||
mcdc_bitmap_bits: extracted_mappings.mcdc_bitmap_bits,
|
||||
expressions: coverage_counters.into_expressions(),
|
||||
@ -142,19 +143,11 @@ fn create_mappings<'tcx>(
|
||||
coverage_counters: &CoverageCounters,
|
||||
) -> Vec<Mapping> {
|
||||
let source_map = tcx.sess.source_map();
|
||||
let body_span = hir_info.body_span;
|
||||
|
||||
let source_file = source_map.lookup_source_file(body_span.lo());
|
||||
|
||||
use rustc_session::RemapFileNameExt;
|
||||
use rustc_session::config::RemapPathScopeComponents;
|
||||
let file_name = Symbol::intern(
|
||||
&source_file.name.for_scope(tcx.sess, RemapPathScopeComponents::MACRO).to_string_lossy(),
|
||||
);
|
||||
let file = source_map.lookup_source_file(hir_info.body_span.lo());
|
||||
|
||||
let term_for_bcb =
|
||||
|bcb| coverage_counters.term_for_bcb(bcb).expect("all BCBs with spans were given counters");
|
||||
let region_for_span = |span: Span| make_source_region(source_map, file_name, span, body_span);
|
||||
let region_for_span = |span: Span| make_source_region(source_map, hir_info, &file, span);
|
||||
|
||||
// Fully destructure the mappings struct to make sure we don't miss any kinds.
|
||||
let ExtractedMappings {
|
||||
@ -398,7 +391,42 @@ fn inject_statement(mir_body: &mut mir::Body<'_>, counter_kind: CoverageKind, bb
|
||||
data.statements.insert(0, statement);
|
||||
}
|
||||
|
||||
/// Convert the Span into its file name, start line and column, and end line and column.
|
||||
fn ensure_non_empty_span(
|
||||
source_map: &SourceMap,
|
||||
hir_info: &ExtractedHirInfo,
|
||||
span: Span,
|
||||
) -> Option<Span> {
|
||||
if !span.is_empty() {
|
||||
return Some(span);
|
||||
}
|
||||
|
||||
let lo = span.lo();
|
||||
let hi = span.hi();
|
||||
|
||||
// The span is empty, so try to expand it to cover an adjacent '{' or '}',
|
||||
// but only within the bounds of the body span.
|
||||
let try_next = hi < hir_info.body_span.hi();
|
||||
let try_prev = hir_info.body_span.lo() < lo;
|
||||
if !(try_next || try_prev) {
|
||||
return None;
|
||||
}
|
||||
|
||||
source_map
|
||||
.span_to_source(span, |src, start, end| try {
|
||||
// We're only checking for specific ASCII characters, so we don't
|
||||
// have to worry about multi-byte code points.
|
||||
if try_next && src.as_bytes()[end] == b'{' {
|
||||
Some(span.with_hi(hi + BytePos(1)))
|
||||
} else if try_prev && src.as_bytes()[start - 1] == b'}' {
|
||||
Some(span.with_lo(lo - BytePos(1)))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.ok()?
|
||||
}
|
||||
|
||||
/// Converts the span into its start line and column, and end line and column.
|
||||
///
|
||||
/// Line numbers and column numbers are 1-based. Unlike most column numbers emitted by
|
||||
/// the compiler, these column numbers are denoted in **bytes**, because that's what
|
||||
@ -408,56 +436,29 @@ fn inject_statement(mir_body: &mut mir::Body<'_>, counter_kind: CoverageKind, bb
|
||||
/// but it's hard to rule out entirely (especially in the presence of complex macros
|
||||
/// or other expansions), and if it does happen then skipping a span or function is
|
||||
/// better than an ICE or `llvm-cov` failure that the user might have no way to avoid.
|
||||
#[instrument(level = "debug", skip(source_map))]
|
||||
fn make_source_region(
|
||||
source_map: &SourceMap,
|
||||
file_name: Symbol,
|
||||
hir_info: &ExtractedHirInfo,
|
||||
file: &SourceFile,
|
||||
span: Span,
|
||||
body_span: Span,
|
||||
) -> Option<SourceRegion> {
|
||||
let span = ensure_non_empty_span(source_map, hir_info, span)?;
|
||||
|
||||
let lo = span.lo();
|
||||
let hi = span.hi();
|
||||
|
||||
let file = source_map.lookup_source_file(lo);
|
||||
if !file.contains(hi) {
|
||||
debug!(?span, ?file, ?lo, ?hi, "span crosses multiple files; skipping");
|
||||
return None;
|
||||
}
|
||||
|
||||
// Column numbers need to be in bytes, so we can't use the more convenient
|
||||
// `SourceMap` methods for looking up file coordinates.
|
||||
let rpos_and_line_and_byte_column = |pos: BytePos| -> Option<(RelativeBytePos, usize, usize)> {
|
||||
let line_and_byte_column = |pos: BytePos| -> Option<(usize, usize)> {
|
||||
let rpos = file.relative_position(pos);
|
||||
let line_index = file.lookup_line(rpos)?;
|
||||
let line_start = file.lines()[line_index];
|
||||
// Line numbers and column numbers are 1-based, so add 1 to each.
|
||||
Some((rpos, line_index + 1, (rpos - line_start).to_usize() + 1))
|
||||
Some((line_index + 1, (rpos - line_start).to_usize() + 1))
|
||||
};
|
||||
|
||||
let (lo_rpos, mut start_line, mut start_col) = rpos_and_line_and_byte_column(lo)?;
|
||||
let (hi_rpos, mut end_line, mut end_col) = rpos_and_line_and_byte_column(hi)?;
|
||||
|
||||
// If the span is empty, try to expand it horizontally by one character's
|
||||
// worth of bytes, so that it is more visible in `llvm-cov` reports.
|
||||
// We do this after resolving line/column numbers, so that empty spans at the
|
||||
// end of a line get an extra column instead of wrapping to the next line.
|
||||
if span.is_empty()
|
||||
&& body_span.contains(span)
|
||||
&& let Some(src) = &file.src
|
||||
{
|
||||
// Prefer to expand the end position, if it won't go outside the body span.
|
||||
if hi < body_span.hi() {
|
||||
let hi_rpos = hi_rpos.to_usize();
|
||||
let nudge_bytes = src.ceil_char_boundary(hi_rpos + 1) - hi_rpos;
|
||||
end_col += nudge_bytes;
|
||||
} else if lo > body_span.lo() {
|
||||
let lo_rpos = lo_rpos.to_usize();
|
||||
let nudge_bytes = lo_rpos - src.floor_char_boundary(lo_rpos - 1);
|
||||
// Subtract the nudge, but don't go below column 1.
|
||||
start_col = start_col.saturating_sub(nudge_bytes).max(1);
|
||||
}
|
||||
// If neither nudge could be applied, stick with the empty span coordinates.
|
||||
}
|
||||
let (mut start_line, start_col) = line_and_byte_column(lo)?;
|
||||
let (mut end_line, end_col) = line_and_byte_column(hi)?;
|
||||
|
||||
// Apply an offset so that code in doctests has correct line numbers.
|
||||
// FIXME(#79417): Currently we have no way to offset doctest _columns_.
|
||||
@ -465,7 +466,6 @@ fn make_source_region(
|
||||
end_line = source_map.doctest_offset_line(&file.name, end_line);
|
||||
|
||||
check_source_region(SourceRegion {
|
||||
file_name,
|
||||
start_line: start_line as u32,
|
||||
start_col: start_col as u32,
|
||||
end_line: end_line as u32,
|
||||
@ -478,7 +478,7 @@ fn make_source_region(
|
||||
/// discard regions that are improperly ordered, or might be interpreted in a
|
||||
/// way that makes them improperly ordered.
|
||||
fn check_source_region(source_region: SourceRegion) -> Option<SourceRegion> {
|
||||
let SourceRegion { file_name: _, start_line, start_col, end_line, end_col } = source_region;
|
||||
let SourceRegion { start_line, start_col, end_line, end_col } = source_region;
|
||||
|
||||
// Line/column coordinates are supposed to be 1-based. If we ever emit
|
||||
// coordinates of 0, `llvm-cov` might misinterpret them.
|
||||
|
@ -9,7 +9,6 @@
|
||||
#![feature(let_chains)]
|
||||
#![feature(map_try_insert)]
|
||||
#![feature(never_type)]
|
||||
#![feature(round_char_boundary)]
|
||||
#![feature(try_blocks)]
|
||||
#![feature(yeet_expr)]
|
||||
#![warn(unreachable_pub)]
|
||||
|
@ -534,7 +534,7 @@ pub fn span_to_lines(&self, sp: Span) -> FileLinesResult {
|
||||
/// Extracts the source surrounding the given `Span` using the `extract_source` function. The
|
||||
/// extract function takes three arguments: a string slice containing the source, an index in
|
||||
/// the slice for the beginning of the span and an index in the slice for the end of the span.
|
||||
fn span_to_source<F, T>(&self, sp: Span, extract_source: F) -> Result<T, SpanSnippetError>
|
||||
pub fn span_to_source<F, T>(&self, sp: Span, extract_source: F) -> Result<T, SpanSnippetError>
|
||||
where
|
||||
F: Fn(&str, usize, usize) -> Result<T, SpanSnippetError>,
|
||||
{
|
||||
|
@ -45,11 +45,11 @@ $DIR/doctest.rs:
|
||||
LL| 1|//! if *res.as_ref().unwrap_err() == *res.as_ref().unwrap_err() {
|
||||
LL| 1|//! println!("{:?}", res);
|
||||
LL| 1|//! }
|
||||
^0
|
||||
^0
|
||||
LL| 1|//! if *res.as_ref().unwrap_err() == *res.as_ref().unwrap_err() {
|
||||
LL| 1|//! res = Ok(1);
|
||||
LL| 1|//! }
|
||||
^0
|
||||
^0
|
||||
LL| 1|//! res = Ok(0);
|
||||
LL| |//! }
|
||||
LL| |//! // need to be explicit because rustdoc cant infer the return type
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: abort::main
|
||||
Raw bytes (89): 0x[01, 01, 0a, 01, 27, 05, 09, 03, 0d, 22, 11, 03, 0d, 03, 0d, 22, 15, 03, 0d, 03, 0d, 05, 09, 0d, 01, 0d, 01, 01, 1b, 03, 02, 0b, 00, 18, 22, 01, 0c, 00, 19, 11, 00, 1a, 02, 0a, 0e, 02, 0a, 00, 0b, 22, 02, 0c, 00, 19, 15, 00, 1a, 00, 31, 1a, 00, 31, 00, 32, 22, 04, 0c, 00, 19, 05, 00, 1a, 00, 31, 09, 00, 31, 00, 32, 27, 01, 09, 00, 17, 0d, 02, 05, 01, 02]
|
||||
Raw bytes (89): 0x[01, 01, 0a, 01, 27, 05, 09, 03, 0d, 22, 11, 03, 0d, 03, 0d, 22, 15, 03, 0d, 03, 0d, 05, 09, 0d, 01, 0d, 01, 01, 1b, 03, 02, 0b, 00, 18, 22, 01, 0c, 00, 19, 11, 00, 1a, 02, 0a, 0e, 02, 09, 00, 0a, 22, 02, 0c, 00, 19, 15, 00, 1a, 00, 31, 1a, 00, 30, 00, 31, 22, 04, 0c, 00, 19, 05, 00, 1a, 00, 31, 09, 00, 30, 00, 31, 27, 01, 09, 00, 17, 0d, 02, 05, 01, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 10
|
||||
@ -20,17 +20,17 @@ Number of file 0 mappings: 13
|
||||
- Code(Expression(8, Sub)) at (prev + 1, 12) to (start + 0, 25)
|
||||
= ((c0 + (c1 + c2)) - c3)
|
||||
- Code(Counter(4)) at (prev + 0, 26) to (start + 2, 10)
|
||||
- Code(Expression(3, Sub)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Expression(3, Sub)) at (prev + 2, 9) to (start + 0, 10)
|
||||
= (((c0 + (c1 + c2)) - c3) - c4)
|
||||
- Code(Expression(8, Sub)) at (prev + 2, 12) to (start + 0, 25)
|
||||
= ((c0 + (c1 + c2)) - c3)
|
||||
- Code(Counter(5)) at (prev + 0, 26) to (start + 0, 49)
|
||||
- Code(Expression(6, Sub)) at (prev + 0, 49) to (start + 0, 50)
|
||||
- Code(Expression(6, Sub)) at (prev + 0, 48) to (start + 0, 49)
|
||||
= (((c0 + (c1 + c2)) - c3) - c5)
|
||||
- Code(Expression(8, Sub)) at (prev + 4, 12) to (start + 0, 25)
|
||||
= ((c0 + (c1 + c2)) - c3)
|
||||
- Code(Counter(1)) at (prev + 0, 26) to (start + 0, 49)
|
||||
- Code(Counter(2)) at (prev + 0, 49) to (start + 0, 50)
|
||||
- Code(Counter(2)) at (prev + 0, 48) to (start + 0, 49)
|
||||
- Code(Expression(9, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (c1 + c2)
|
||||
- Code(Counter(3)) at (prev + 2, 5) to (start + 1, 2)
|
||||
|
@ -18,12 +18,12 @@
|
||||
LL| 6| }
|
||||
LL| | // See discussion (below the `Notes` section) on coverage results for the closing brace.
|
||||
LL| 10| if countdown < 5 { might_abort(false); } // Counts for different regions on one line.
|
||||
^4 ^6
|
||||
^4 ^6
|
||||
LL| | // For the following example, the closing brace is the last character on the line.
|
||||
LL| | // This shows the character after the closing brace is highlighted, even if that next
|
||||
LL| | // character is a newline.
|
||||
LL| 10| if countdown < 5 { might_abort(false); }
|
||||
^4 ^6
|
||||
^4 ^6
|
||||
LL| 10| countdown -= 1;
|
||||
LL| | }
|
||||
LL| 1| Ok(())
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: assert::main
|
||||
Raw bytes (65): 0x[01, 01, 08, 01, 1b, 05, 1f, 09, 0d, 03, 11, 16, 05, 03, 11, 05, 1f, 09, 0d, 09, 01, 09, 01, 01, 1b, 03, 02, 0b, 00, 18, 16, 01, 0c, 00, 1a, 05, 00, 1b, 02, 0a, 12, 02, 13, 00, 20, 09, 00, 21, 02, 0a, 0d, 02, 0a, 00, 0b, 1b, 01, 09, 00, 17, 11, 02, 05, 01, 02]
|
||||
Raw bytes (65): 0x[01, 01, 08, 01, 1b, 05, 1f, 09, 0d, 03, 11, 16, 05, 03, 11, 05, 1f, 09, 0d, 09, 01, 09, 01, 01, 1b, 03, 02, 0b, 00, 18, 16, 01, 0c, 00, 1a, 05, 00, 1b, 02, 0a, 12, 02, 13, 00, 20, 09, 00, 21, 02, 0a, 0d, 02, 09, 00, 0a, 1b, 01, 09, 00, 17, 11, 02, 05, 01, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 8
|
||||
@ -21,7 +21,7 @@ Number of file 0 mappings: 9
|
||||
- Code(Expression(4, Sub)) at (prev + 2, 19) to (start + 0, 32)
|
||||
= (((c0 + (c1 + (c2 + c3))) - c4) - c1)
|
||||
- Code(Counter(2)) at (prev + 0, 33) to (start + 2, 10)
|
||||
- Code(Counter(3)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Counter(3)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Expression(6, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (c1 + (c2 + c3))
|
||||
- Code(Counter(4)) at (prev + 2, 5) to (start + 1, 2)
|
||||
|
@ -8,14 +8,14 @@ Number of file 0 mappings: 1
|
||||
Highest counter ID seen: c0
|
||||
|
||||
Function name: async2::async_func::{closure#0}
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 01, 10, 17, 03, 09, 05, 03, 0a, 02, 06, 00, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 01, 10, 17, 03, 09, 05, 03, 0a, 02, 06, 00, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 16, 23) to (start + 3, 9)
|
||||
- Code(Counter(1)) at (prev + 3, 10) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
@ -47,14 +47,14 @@ Number of file 0 mappings: 1
|
||||
Highest counter ID seen: c0
|
||||
|
||||
Function name: async2::non_async_func
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 01, 08, 01, 03, 09, 05, 03, 0a, 02, 06, 00, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 01, 08, 01, 03, 09, 05, 03, 0a, 02, 06, 00, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 8, 1) to (start + 3, 9)
|
||||
- Code(Counter(1)) at (prev + 3, 10) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
LL| 1| if b {
|
||||
LL| 1| println!("non_async_func println in block");
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1|}
|
||||
LL| |
|
||||
LL| 1|async fn async_func() {
|
||||
@ -20,7 +20,7 @@
|
||||
LL| 1| if b {
|
||||
LL| 1| println!("async_func println in block");
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1|}
|
||||
LL| |
|
||||
LL| 1|async fn async_func_just_println() {
|
||||
|
@ -25,7 +25,7 @@ Number of file 0 mappings: 8
|
||||
Highest counter ID seen: c4
|
||||
|
||||
Function name: if::branch_not
|
||||
Raw bytes (116): 0x[01, 01, 07, 05, 09, 05, 0d, 05, 0d, 05, 11, 05, 11, 05, 15, 05, 15, 12, 01, 0c, 01, 01, 10, 05, 03, 08, 00, 09, 20, 09, 02, 00, 08, 00, 09, 09, 01, 09, 00, 11, 02, 01, 06, 00, 07, 05, 01, 08, 00, 0a, 20, 0a, 0d, 00, 08, 00, 0a, 0a, 00, 0b, 02, 06, 0d, 02, 06, 00, 07, 05, 01, 08, 00, 0b, 20, 11, 12, 00, 08, 00, 0b, 11, 00, 0c, 02, 06, 12, 02, 06, 00, 07, 05, 01, 08, 00, 0c, 20, 1a, 15, 00, 08, 00, 0c, 1a, 00, 0d, 02, 06, 15, 02, 06, 00, 07, 05, 01, 01, 00, 02]
|
||||
Raw bytes (116): 0x[01, 01, 07, 05, 09, 05, 0d, 05, 0d, 05, 11, 05, 11, 05, 15, 05, 15, 12, 01, 0c, 01, 01, 10, 05, 03, 08, 00, 09, 20, 09, 02, 00, 08, 00, 09, 09, 01, 09, 00, 11, 02, 01, 05, 00, 06, 05, 01, 08, 00, 0a, 20, 0a, 0d, 00, 08, 00, 0a, 0a, 00, 0b, 02, 06, 0d, 02, 05, 00, 06, 05, 01, 08, 00, 0b, 20, 11, 12, 00, 08, 00, 0b, 11, 00, 0c, 02, 06, 12, 02, 05, 00, 06, 05, 01, 08, 00, 0c, 20, 1a, 15, 00, 08, 00, 0c, 1a, 00, 0d, 02, 06, 15, 02, 05, 00, 06, 05, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 7
|
||||
@ -43,7 +43,7 @@ Number of file 0 mappings: 18
|
||||
true = c2
|
||||
false = (c1 - c2)
|
||||
- Code(Counter(2)) at (prev + 1, 9) to (start + 0, 17)
|
||||
- Code(Expression(0, Sub)) at (prev + 1, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 1, 5) to (start + 0, 6)
|
||||
= (c1 - c2)
|
||||
- Code(Counter(1)) at (prev + 1, 8) to (start + 0, 10)
|
||||
- Branch { true: Expression(2, Sub), false: Counter(3) } at (prev + 0, 8) to (start + 0, 10)
|
||||
@ -51,13 +51,13 @@ Number of file 0 mappings: 18
|
||||
false = c3
|
||||
- Code(Expression(2, Sub)) at (prev + 0, 11) to (start + 2, 6)
|
||||
= (c1 - c3)
|
||||
- Code(Counter(3)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(3)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(1)) at (prev + 1, 8) to (start + 0, 11)
|
||||
- Branch { true: Counter(4), false: Expression(4, Sub) } at (prev + 0, 8) to (start + 0, 11)
|
||||
true = c4
|
||||
false = (c1 - c4)
|
||||
- Code(Counter(4)) at (prev + 0, 12) to (start + 2, 6)
|
||||
- Code(Expression(4, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(4, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c1 - c4)
|
||||
- Code(Counter(1)) at (prev + 1, 8) to (start + 0, 12)
|
||||
- Branch { true: Expression(6, Sub), false: Counter(5) } at (prev + 0, 8) to (start + 0, 12)
|
||||
@ -65,12 +65,12 @@ Number of file 0 mappings: 18
|
||||
false = c5
|
||||
- Code(Expression(6, Sub)) at (prev + 0, 13) to (start + 2, 6)
|
||||
= (c1 - c5)
|
||||
- Code(Counter(5)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(5)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(1)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c5
|
||||
|
||||
Function name: if::branch_not_as
|
||||
Raw bytes (90): 0x[01, 01, 05, 05, 09, 05, 0d, 05, 0d, 05, 11, 05, 11, 0e, 01, 1d, 01, 01, 10, 05, 03, 08, 00, 14, 20, 02, 09, 00, 08, 00, 14, 02, 00, 15, 02, 06, 09, 02, 06, 00, 07, 05, 01, 08, 00, 15, 20, 0d, 0a, 00, 08, 00, 15, 0d, 00, 16, 02, 06, 0a, 02, 06, 00, 07, 05, 01, 08, 00, 16, 20, 12, 11, 00, 08, 00, 16, 12, 00, 17, 02, 06, 11, 02, 06, 00, 07, 05, 01, 01, 00, 02]
|
||||
Raw bytes (90): 0x[01, 01, 05, 05, 09, 05, 0d, 05, 0d, 05, 11, 05, 11, 0e, 01, 1d, 01, 01, 10, 05, 03, 08, 00, 14, 20, 02, 09, 00, 08, 00, 14, 02, 00, 15, 02, 06, 09, 02, 05, 00, 06, 05, 01, 08, 00, 15, 20, 0d, 0a, 00, 08, 00, 15, 0d, 00, 16, 02, 06, 0a, 02, 05, 00, 06, 05, 01, 08, 00, 16, 20, 12, 11, 00, 08, 00, 16, 12, 00, 17, 02, 06, 11, 02, 05, 00, 06, 05, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 5
|
||||
@ -87,13 +87,13 @@ Number of file 0 mappings: 14
|
||||
false = c2
|
||||
- Code(Expression(0, Sub)) at (prev + 0, 21) to (start + 2, 6)
|
||||
= (c1 - c2)
|
||||
- Code(Counter(2)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(2)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(1)) at (prev + 1, 8) to (start + 0, 21)
|
||||
- Branch { true: Counter(3), false: Expression(2, Sub) } at (prev + 0, 8) to (start + 0, 21)
|
||||
true = c3
|
||||
false = (c1 - c3)
|
||||
- Code(Counter(3)) at (prev + 0, 22) to (start + 2, 6)
|
||||
- Code(Expression(2, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(2, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c1 - c3)
|
||||
- Code(Counter(1)) at (prev + 1, 8) to (start + 0, 22)
|
||||
- Branch { true: Expression(4, Sub), false: Counter(4) } at (prev + 0, 8) to (start + 0, 22)
|
||||
@ -101,7 +101,7 @@ Number of file 0 mappings: 14
|
||||
false = c4
|
||||
- Code(Expression(4, Sub)) at (prev + 0, 23) to (start + 2, 6)
|
||||
= (c1 - c4)
|
||||
- Code(Counter(4)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(4)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(1)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c4
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
------------------
|
||||
LL| 2| say("not not a");
|
||||
LL| 2| }
|
||||
^1
|
||||
^1
|
||||
LL| 3| if !!!a {
|
||||
------------------
|
||||
| Branch (LL:8): [True: 1, False: 2]
|
||||
@ -54,7 +54,7 @@
|
||||
------------------
|
||||
LL| 2| say("not not (a as bool)");
|
||||
LL| 2| }
|
||||
^1
|
||||
^1
|
||||
LL| 3| if !!!(a as bool) {
|
||||
------------------
|
||||
| Branch (LL:8): [True: 1, False: 2]
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: closure::main
|
||||
Raw bytes (126): 0x[01, 01, 01, 01, 05, 18, 01, 09, 01, 0f, 0d, 01, 16, 0e, 06, 0a, 01, 10, 05, 13, 0d, 01, 1a, 0e, 06, 0a, 01, 10, 05, 0c, 16, 01, 16, 05, 0d, 18, 01, 19, 09, 01, 1e, 01, 04, 09, 00, 29, 01, 01, 09, 00, 2d, 01, 01, 09, 00, 24, 01, 05, 09, 00, 24, 01, 02, 09, 00, 21, 01, 04, 09, 00, 21, 01, 04, 09, 00, 28, 01, 09, 09, 00, 32, 01, 04, 09, 00, 33, 01, 07, 09, 00, 4b, 01, 08, 09, 00, 48, 01, 0a, 09, 00, 47, 01, 08, 09, 00, 44, 01, 0a, 08, 00, 10, 05, 00, 11, 04, 06, 02, 04, 06, 00, 07, 01, 01, 05, 03, 02]
|
||||
Raw bytes (126): 0x[01, 01, 01, 01, 05, 18, 01, 09, 01, 0f, 0d, 01, 16, 0e, 06, 0a, 01, 10, 05, 13, 0d, 01, 1a, 0e, 06, 0a, 01, 10, 05, 0c, 16, 01, 16, 05, 0d, 18, 01, 19, 09, 01, 1e, 01, 04, 09, 00, 29, 01, 01, 09, 00, 2d, 01, 01, 09, 00, 24, 01, 05, 09, 00, 24, 01, 02, 09, 00, 21, 01, 04, 09, 00, 21, 01, 04, 09, 00, 28, 01, 09, 09, 00, 32, 01, 04, 09, 00, 33, 01, 07, 09, 00, 4b, 01, 08, 09, 00, 48, 01, 0a, 09, 00, 47, 01, 08, 09, 00, 44, 01, 0a, 08, 00, 10, 05, 00, 11, 04, 06, 02, 04, 05, 00, 06, 01, 01, 05, 03, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -27,13 +27,13 @@ Number of file 0 mappings: 24
|
||||
- Code(Counter(0)) at (prev + 8, 9) to (start + 0, 68)
|
||||
- Code(Counter(0)) at (prev + 10, 8) to (start + 0, 16)
|
||||
- Code(Counter(1)) at (prev + 0, 17) to (start + 4, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 4, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 4, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 5) to (start + 3, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#0}
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 28, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 0a, 00, 0b, 01, 01, 09, 01, 06]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 28, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 09, 00, 0a, 01, 01, 09, 01, 06]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -41,7 +41,7 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 40, 5) to (start + 2, 20)
|
||||
- Code(Counter(1)) at (prev + 2, 21) to (start + 2, 10)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 9) to (start + 0, 10)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 9) to (start + 1, 6)
|
||||
Highest counter ID seen: c1
|
||||
@ -83,17 +83,16 @@ Number of file 0 mappings: 1
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
Function name: closure::main::{closure#14}
|
||||
Raw bytes (27): 0x[01, 01, 01, 01, 05, 04, 01, b3, 01, 0d, 02, 1b, 05, 02, 1e, 00, 25, 02, 00, 2f, 00, 33, 01, 01, 0d, 00, 0e]
|
||||
Raw bytes (22): 0x[01, 01, 01, 01, 05, 03, 01, b3, 01, 0d, 02, 1b, 05, 02, 1e, 00, 25, 02, 00, 2f, 00, 33]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
|
||||
Number of file 0 mappings: 4
|
||||
Number of file 0 mappings: 3
|
||||
- Code(Counter(0)) at (prev + 179, 13) to (start + 2, 27)
|
||||
- Code(Counter(1)) at (prev + 2, 30) to (start + 0, 37)
|
||||
- Code(Expression(0, Sub)) at (prev + 0, 47) to (start + 0, 51)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 13) to (start + 0, 14)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#15}
|
||||
@ -113,17 +112,16 @@ Number of file 0 mappings: 6
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#16}
|
||||
Raw bytes (27): 0x[01, 01, 01, 01, 05, 04, 01, c5, 01, 0d, 02, 1b, 05, 02, 1e, 00, 25, 02, 00, 2f, 00, 33, 01, 01, 0d, 00, 0e]
|
||||
Raw bytes (22): 0x[01, 01, 01, 01, 05, 03, 01, c5, 01, 0d, 02, 1b, 05, 02, 1e, 00, 25, 02, 00, 2f, 00, 33]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
|
||||
Number of file 0 mappings: 4
|
||||
Number of file 0 mappings: 3
|
||||
- Code(Counter(0)) at (prev + 197, 13) to (start + 2, 27)
|
||||
- Code(Counter(1)) at (prev + 2, 30) to (start + 0, 37)
|
||||
- Code(Expression(0, Sub)) at (prev + 0, 47) to (start + 0, 51)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 13) to (start + 0, 14)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#17}
|
||||
@ -143,19 +141,19 @@ Number of file 0 mappings: 6
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#18} (unused)
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 19, 0d, 02, 1c, 00, 02, 1d, 02, 12, 00, 02, 12, 00, 13, 00, 01, 11, 01, 0e]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 19, 0d, 02, 1c, 00, 02, 1d, 02, 12, 00, 02, 11, 00, 12, 00, 01, 11, 01, 0e]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 25, 13) to (start + 2, 28)
|
||||
- Code(Zero) at (prev + 2, 29) to (start + 2, 18)
|
||||
- Code(Zero) at (prev + 2, 18) to (start + 0, 19)
|
||||
- Code(Zero) at (prev + 2, 17) to (start + 0, 18)
|
||||
- Code(Zero) at (prev + 1, 17) to (start + 1, 14)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
Function name: closure::main::{closure#19}
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 43, 0d, 02, 1c, 05, 02, 1d, 02, 12, 02, 02, 12, 00, 13, 01, 01, 11, 01, 0e]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 43, 0d, 02, 1c, 05, 02, 1d, 02, 12, 02, 02, 11, 00, 12, 01, 01, 11, 01, 0e]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -163,13 +161,13 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 67, 13) to (start + 2, 28)
|
||||
- Code(Counter(1)) at (prev + 2, 29) to (start + 2, 18)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 18) to (start + 0, 19)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 17) to (start + 0, 18)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 17) to (start + 1, 14)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#1}
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 52, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 0a, 00, 0b, 01, 01, 09, 01, 06]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 52, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 09, 00, 0a, 01, 01, 09, 01, 06]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -177,13 +175,13 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 82, 5) to (start + 2, 20)
|
||||
- Code(Counter(1)) at (prev + 2, 21) to (start + 2, 10)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 9) to (start + 0, 10)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 9) to (start + 1, 6)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#2}
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 68, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 0a, 00, 0b, 01, 01, 09, 01, 06]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 68, 05, 02, 14, 05, 02, 15, 02, 0a, 02, 02, 09, 00, 0a, 01, 01, 09, 01, 06]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -191,20 +189,20 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 104, 5) to (start + 2, 20)
|
||||
- Code(Counter(1)) at (prev + 2, 21) to (start + 2, 10)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 9) to (start + 0, 10)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 9) to (start + 1, 6)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: closure::main::{closure#3} (unused)
|
||||
Raw bytes (25): 0x[01, 01, 00, 04, 00, 81, 01, 05, 01, 14, 00, 01, 15, 02, 0a, 00, 02, 0a, 00, 0b, 00, 01, 09, 01, 06]
|
||||
Raw bytes (25): 0x[01, 01, 00, 04, 00, 81, 01, 05, 01, 14, 00, 01, 15, 02, 0a, 00, 02, 09, 00, 0a, 00, 01, 09, 01, 06]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 129, 5) to (start + 1, 20)
|
||||
- Code(Zero) at (prev + 1, 21) to (start + 2, 10)
|
||||
- Code(Zero) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Zero) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Zero) at (prev + 1, 9) to (start + 1, 6)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
|
@ -183,7 +183,7 @@
|
||||
LL| 0| println!(
|
||||
LL| 0| "not called: {}",
|
||||
LL| 0| if is_true { "check" } else { "me" }
|
||||
LL| 0| )
|
||||
LL| | )
|
||||
LL| | ;
|
||||
LL| |
|
||||
LL| 1| let short_used_not_covered_closure_line_break_block_embedded_branch =
|
||||
@ -202,7 +202,7 @@
|
||||
LL| 1| "not called: {}",
|
||||
LL| 1| if is_true { "check" } else { "me" }
|
||||
^0
|
||||
LL| 1| )
|
||||
LL| | )
|
||||
LL| | ;
|
||||
LL| |
|
||||
LL| 1| let short_used_covered_closure_line_break_block_embedded_branch =
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: closure_bug::main
|
||||
Raw bytes (97): 0x[01, 01, 04, 01, 05, 01, 09, 01, 0d, 01, 11, 11, 01, 07, 01, 03, 0a, 01, 09, 05, 01, 0e, 05, 01, 0f, 00, 17, 02, 00, 17, 00, 18, 01, 02, 09, 00, 0a, 01, 06, 05, 01, 0e, 09, 01, 0f, 00, 17, 06, 00, 17, 00, 18, 01, 02, 09, 00, 0a, 01, 06, 05, 01, 0e, 0d, 01, 0f, 00, 17, 0a, 00, 17, 00, 18, 01, 02, 09, 00, 0a, 01, 06, 05, 01, 0e, 11, 01, 0f, 00, 17, 0e, 00, 17, 00, 18, 01, 01, 01, 00, 02]
|
||||
Raw bytes (97): 0x[01, 01, 04, 01, 05, 01, 09, 01, 0d, 01, 11, 11, 01, 07, 01, 03, 0a, 01, 09, 05, 01, 0e, 05, 01, 0f, 00, 17, 02, 00, 16, 00, 17, 01, 02, 09, 00, 0a, 01, 06, 05, 01, 0e, 09, 01, 0f, 00, 17, 06, 00, 16, 00, 17, 01, 02, 09, 00, 0a, 01, 06, 05, 01, 0e, 0d, 01, 0f, 00, 17, 0a, 00, 16, 00, 17, 01, 02, 09, 00, 0a, 01, 06, 05, 01, 0e, 11, 01, 0f, 00, 17, 0e, 00, 16, 00, 17, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 4
|
||||
@ -11,22 +11,22 @@ Number of file 0 mappings: 17
|
||||
- Code(Counter(0)) at (prev + 7, 1) to (start + 3, 10)
|
||||
- Code(Counter(0)) at (prev + 9, 5) to (start + 1, 14)
|
||||
- Code(Counter(1)) at (prev + 1, 15) to (start + 0, 23)
|
||||
- Code(Expression(0, Sub)) at (prev + 0, 23) to (start + 0, 24)
|
||||
- Code(Expression(0, Sub)) at (prev + 0, 22) to (start + 0, 23)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Counter(0)) at (prev + 6, 5) to (start + 1, 14)
|
||||
- Code(Counter(2)) at (prev + 1, 15) to (start + 0, 23)
|
||||
- Code(Expression(1, Sub)) at (prev + 0, 23) to (start + 0, 24)
|
||||
- Code(Expression(1, Sub)) at (prev + 0, 22) to (start + 0, 23)
|
||||
= (c0 - c2)
|
||||
- Code(Counter(0)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Counter(0)) at (prev + 6, 5) to (start + 1, 14)
|
||||
- Code(Counter(3)) at (prev + 1, 15) to (start + 0, 23)
|
||||
- Code(Expression(2, Sub)) at (prev + 0, 23) to (start + 0, 24)
|
||||
- Code(Expression(2, Sub)) at (prev + 0, 22) to (start + 0, 23)
|
||||
= (c0 - c3)
|
||||
- Code(Counter(0)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Counter(0)) at (prev + 6, 5) to (start + 1, 14)
|
||||
- Code(Counter(4)) at (prev + 1, 15) to (start + 0, 23)
|
||||
- Code(Expression(3, Sub)) at (prev + 0, 23) to (start + 0, 24)
|
||||
- Code(Expression(3, Sub)) at (prev + 0, 22) to (start + 0, 23)
|
||||
= (c0 - c4)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c4
|
||||
|
@ -16,7 +16,7 @@
|
||||
LL| |
|
||||
LL| 1| a();
|
||||
LL| 1| if truthy { a(); }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| let b
|
||||
LL| | =
|
||||
@ -27,7 +27,7 @@
|
||||
LL| |
|
||||
LL| 1| b();
|
||||
LL| 1| if truthy { b(); }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| let c
|
||||
LL| | =
|
||||
@ -38,7 +38,7 @@
|
||||
LL| |
|
||||
LL| 1| c();
|
||||
LL| 1| if truthy { c(); }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| let d
|
||||
LL| | =
|
||||
@ -49,6 +49,6 @@
|
||||
LL| |
|
||||
LL| 1| d();
|
||||
LL| 1| if truthy { d(); }
|
||||
^0
|
||||
^0
|
||||
LL| 1|}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: conditions::main
|
||||
Raw bytes (799): 0x[01, 01, 94, 01, 09, 2b, 2f, 41, 33, 3d, 35, 39, 01, 09, 0d, 35, 1e, 39, 0d, 35, 33, 3d, 35, 39, 2f, 41, 33, 3d, 35, 39, ce, 04, 0d, 01, 09, 03, 49, 62, 31, 03, 49, 5e, 4d, 62, 31, 03, 49, 5a, 51, 5e, 4d, 62, 31, 03, 49, 87, 01, 55, 4d, 51, 83, 01, 59, 87, 01, 55, 4d, 51, 49, 7f, 83, 01, 59, 87, 01, 55, 4d, 51, 5d, 65, ae, 01, 2d, 5d, 65, aa, 01, 69, ae, 01, 2d, 5d, 65, a6, 01, 6d, aa, 01, 69, ae, 01, 2d, 5d, 65, f3, 02, 71, 69, 6d, ef, 02, 75, f3, 02, 71, 69, 6d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, de, 02, 29, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, da, 02, 81, 01, de, 02, 29, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, d6, 02, 85, 01, da, 02, 81, 01, de, 02, 29, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, 8f, 04, 89, 01, 81, 01, 85, 01, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, 11, af, 04, b3, 04, 21, b7, 04, 1d, 15, 19, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, fe, 03, 25, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, fa, 03, 15, fe, 03, 25, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, f6, 03, 19, fa, 03, 15, fe, 03, 25, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, b7, 04, 1d, 15, 19, b3, 04, 21, b7, 04, 1d, 15, 19, ab, 04, bb, 04, 11, af, 04, b3, 04, 21, b7, 04, 1d, 15, 19, bf, 04, ca, 04, c3, 04, 31, c7, 04, 2d, 25, 29, ce, 04, 0d, 01, 09, 44, 01, 03, 01, 02, 0c, 05, 02, 0d, 02, 06, 00, 02, 06, 00, 07, 03, 03, 09, 00, 0a, 01, 00, 10, 00, 1d, 09, 01, 09, 01, 0a, ce, 04, 02, 0f, 00, 1c, 0d, 01, 0c, 00, 19, 1e, 00, 1d, 00, 2a, 1a, 00, 2e, 00, 3c, 2f, 00, 3d, 02, 0a, 41, 02, 0a, 00, 0b, 2b, 01, 09, 01, 12, ca, 04, 03, 09, 00, 0f, 03, 03, 09, 01, 0c, 45, 01, 0d, 02, 06, 00, 02, 06, 00, 07, 03, 02, 08, 00, 15, 49, 00, 16, 02, 06, 62, 02, 0f, 00, 1c, 5e, 01, 0c, 00, 19, 5a, 00, 1d, 00, 2a, 56, 00, 2e, 00, 3c, 83, 01, 00, 3d, 02, 0a, 59, 02, 0a, 00, 0b, 7f, 01, 09, 00, 17, 31, 02, 09, 00, 0f, 7b, 03, 08, 00, 0c, 5d, 01, 0d, 01, 10, 61, 01, 11, 02, 0a, 00, 02, 0a, 00, 0b, 5d, 02, 0c, 00, 19, 65, 00, 1a, 02, 0a, ae, 01, 04, 11, 00, 1e, aa, 01, 01, 10, 00, 1d, a6, 01, 00, 21, 00, 2e, a2, 01, 00, 32, 00, 40, ef, 02, 00, 41, 02, 0e, 75, 02, 0e, 00, 0f, eb, 02, 01, 0d, 00, 1b, 2d, 02, 0d, 00, 13, 00, 02, 06, 00, 07, e3, 02, 02, 09, 01, 0c, 79, 01, 0d, 02, 06, 00, 02, 06, 00, 07, 83, 04, 02, 09, 00, 0a, e3, 02, 00, 10, 00, 1d, 7d, 00, 1e, 02, 06, de, 02, 02, 0f, 00, 1c, da, 02, 01, 0c, 00, 19, d6, 02, 00, 1d, 00, 2a, d2, 02, 00, 2e, 00, 3c, 8b, 04, 00, 3d, 02, 0a, 8d, 01, 02, 0a, 00, 0b, 87, 04, 01, 09, 00, 17, 29, 02, 0d, 02, 0f, ab, 04, 05, 09, 00, 0a, 83, 04, 00, 10, 00, 1d, 11, 00, 1e, 02, 06, fe, 03, 02, 0f, 00, 1c, fa, 03, 01, 0c, 00, 19, f6, 03, 00, 1d, 00, 2a, f2, 03, 00, 2e, 00, 3c, b3, 04, 00, 3d, 02, 0a, 21, 02, 0a, 00, 0b, af, 04, 01, 09, 00, 17, 25, 02, 09, 00, 0f, a7, 04, 02, 01, 00, 02]
|
||||
Raw bytes (799): 0x[01, 01, 94, 01, 09, 2b, 2f, 41, 33, 3d, 35, 39, 01, 09, 0d, 35, 1e, 39, 0d, 35, 33, 3d, 35, 39, 2f, 41, 33, 3d, 35, 39, ce, 04, 0d, 01, 09, 03, 49, 62, 31, 03, 49, 5e, 4d, 62, 31, 03, 49, 5a, 51, 5e, 4d, 62, 31, 03, 49, 87, 01, 55, 4d, 51, 83, 01, 59, 87, 01, 55, 4d, 51, 49, 7f, 83, 01, 59, 87, 01, 55, 4d, 51, 5d, 65, ae, 01, 2d, 5d, 65, aa, 01, 69, ae, 01, 2d, 5d, 65, a6, 01, 6d, aa, 01, 69, ae, 01, 2d, 5d, 65, f3, 02, 71, 69, 6d, ef, 02, 75, f3, 02, 71, 69, 6d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, de, 02, 29, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, da, 02, 81, 01, de, 02, 29, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, d6, 02, 85, 01, da, 02, 81, 01, de, 02, 29, e3, 02, 7d, e7, 02, 00, 65, eb, 02, ef, 02, 75, f3, 02, 71, 69, 6d, 8f, 04, 89, 01, 81, 01, 85, 01, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, 11, af, 04, b3, 04, 21, b7, 04, 1d, 15, 19, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, fe, 03, 25, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, fa, 03, 15, fe, 03, 25, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, f6, 03, 19, fa, 03, 15, fe, 03, 25, 83, 04, 11, 7d, 87, 04, 8b, 04, 8d, 01, 8f, 04, 89, 01, 81, 01, 85, 01, b7, 04, 1d, 15, 19, b3, 04, 21, b7, 04, 1d, 15, 19, ab, 04, bb, 04, 11, af, 04, b3, 04, 21, b7, 04, 1d, 15, 19, bf, 04, ca, 04, c3, 04, 31, c7, 04, 2d, 25, 29, ce, 04, 0d, 01, 09, 44, 01, 03, 01, 02, 0c, 05, 02, 0d, 02, 06, 00, 02, 05, 00, 06, 03, 03, 09, 00, 0a, 01, 00, 10, 00, 1d, 09, 01, 09, 01, 0a, ce, 04, 02, 0f, 00, 1c, 0d, 01, 0c, 00, 19, 1e, 00, 1d, 00, 2a, 1a, 00, 2e, 00, 3c, 2f, 00, 3d, 02, 0a, 41, 02, 09, 00, 0a, 2b, 01, 09, 01, 12, ca, 04, 03, 09, 00, 0f, 03, 03, 09, 01, 0c, 45, 01, 0d, 02, 06, 00, 02, 05, 00, 06, 03, 02, 08, 00, 15, 49, 00, 16, 02, 06, 62, 02, 0f, 00, 1c, 5e, 01, 0c, 00, 19, 5a, 00, 1d, 00, 2a, 56, 00, 2e, 00, 3c, 83, 01, 00, 3d, 02, 0a, 59, 02, 09, 00, 0a, 7f, 01, 09, 00, 17, 31, 02, 09, 00, 0f, 7b, 03, 08, 00, 0c, 5d, 01, 0d, 01, 10, 61, 01, 11, 02, 0a, 00, 02, 09, 00, 0a, 5d, 02, 0c, 00, 19, 65, 00, 1a, 02, 0a, ae, 01, 04, 11, 00, 1e, aa, 01, 01, 10, 00, 1d, a6, 01, 00, 21, 00, 2e, a2, 01, 00, 32, 00, 40, ef, 02, 00, 41, 02, 0e, 75, 02, 0d, 00, 0e, eb, 02, 01, 0d, 00, 1b, 2d, 02, 0d, 00, 13, 00, 02, 05, 00, 06, e3, 02, 02, 09, 01, 0c, 79, 01, 0d, 02, 06, 00, 02, 05, 00, 06, 83, 04, 02, 09, 00, 0a, e3, 02, 00, 10, 00, 1d, 7d, 00, 1e, 02, 06, de, 02, 02, 0f, 00, 1c, da, 02, 01, 0c, 00, 19, d6, 02, 00, 1d, 00, 2a, d2, 02, 00, 2e, 00, 3c, 8b, 04, 00, 3d, 02, 0a, 8d, 01, 02, 09, 00, 0a, 87, 04, 01, 09, 00, 17, 29, 02, 0d, 02, 0f, ab, 04, 05, 09, 00, 0a, 83, 04, 00, 10, 00, 1d, 11, 00, 1e, 02, 06, fe, 03, 02, 0f, 00, 1c, fa, 03, 01, 0c, 00, 19, f6, 03, 00, 1d, 00, 2a, f2, 03, 00, 2e, 00, 3c, b3, 04, 00, 3d, 02, 0a, 21, 02, 09, 00, 0a, af, 04, 01, 09, 00, 17, 25, 02, 09, 00, 0f, a7, 04, 02, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 148
|
||||
@ -154,7 +154,7 @@ Number of expressions: 148
|
||||
Number of file 0 mappings: 68
|
||||
- Code(Counter(0)) at (prev + 3, 1) to (start + 2, 12)
|
||||
- Code(Counter(1)) at (prev + 2, 13) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Expression(0, Add)) at (prev + 3, 9) to (start + 0, 10)
|
||||
= (c2 + (((c13 + c14) + c15) + c16))
|
||||
- Code(Counter(0)) at (prev + 0, 16) to (start + 0, 29)
|
||||
@ -168,7 +168,7 @@ Number of file 0 mappings: 68
|
||||
= ((c3 - c13) - c14)
|
||||
- Code(Expression(11, Add)) at (prev + 0, 61) to (start + 2, 10)
|
||||
= ((c13 + c14) + c15)
|
||||
- Code(Counter(16)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Counter(16)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Expression(10, Add)) at (prev + 1, 9) to (start + 1, 18)
|
||||
= (((c13 + c14) + c15) + c16)
|
||||
- Code(Expression(146, Sub)) at (prev + 3, 9) to (start + 0, 15)
|
||||
@ -176,7 +176,7 @@ Number of file 0 mappings: 68
|
||||
- Code(Expression(0, Add)) at (prev + 3, 9) to (start + 1, 12)
|
||||
= (c2 + (((c13 + c14) + c15) + c16))
|
||||
- Code(Counter(17)) at (prev + 1, 13) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Expression(0, Add)) at (prev + 2, 8) to (start + 0, 21)
|
||||
= (c2 + (((c13 + c14) + c15) + c16))
|
||||
- Code(Counter(18)) at (prev + 0, 22) to (start + 2, 6)
|
||||
@ -190,7 +190,7 @@ Number of file 0 mappings: 68
|
||||
= (((((c2 + (((c13 + c14) + c15) + c16)) - c18) - c12) - c19) - c20)
|
||||
- Code(Expression(32, Add)) at (prev + 0, 61) to (start + 2, 10)
|
||||
= ((c19 + c20) + c21)
|
||||
- Code(Counter(22)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Counter(22)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Expression(31, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (((c19 + c20) + c21) + c22)
|
||||
- Code(Counter(12)) at (prev + 2, 9) to (start + 0, 15)
|
||||
@ -198,7 +198,7 @@ Number of file 0 mappings: 68
|
||||
= (c18 + (((c19 + c20) + c21) + c22))
|
||||
- Code(Counter(23)) at (prev + 1, 13) to (start + 1, 16)
|
||||
- Code(Counter(24)) at (prev + 1, 17) to (start + 2, 10)
|
||||
- Code(Zero) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Zero) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Counter(23)) at (prev + 2, 12) to (start + 0, 25)
|
||||
- Code(Counter(25)) at (prev + 0, 26) to (start + 2, 10)
|
||||
- Code(Expression(43, Sub)) at (prev + 4, 17) to (start + 0, 30)
|
||||
@ -211,15 +211,15 @@ Number of file 0 mappings: 68
|
||||
= ((((c23 - c25) - c11) - c26) - c27)
|
||||
- Code(Expression(91, Add)) at (prev + 0, 65) to (start + 2, 14)
|
||||
= ((c26 + c27) + c28)
|
||||
- Code(Counter(29)) at (prev + 2, 14) to (start + 0, 15)
|
||||
- Code(Counter(29)) at (prev + 2, 13) to (start + 0, 14)
|
||||
- Code(Expression(90, Add)) at (prev + 1, 13) to (start + 0, 27)
|
||||
= (((c26 + c27) + c28) + c29)
|
||||
- Code(Counter(11)) at (prev + 2, 13) to (start + 0, 19)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Expression(88, Add)) at (prev + 2, 9) to (start + 1, 12)
|
||||
= ((c25 + (((c26 + c27) + c28) + c29)) + Zero)
|
||||
- Code(Counter(30)) at (prev + 1, 13) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Expression(128, Add)) at (prev + 2, 9) to (start + 0, 10)
|
||||
= (c31 + (((c32 + c33) + c34) + c35))
|
||||
- Code(Expression(88, Add)) at (prev + 0, 16) to (start + 0, 29)
|
||||
@ -235,7 +235,7 @@ Number of file 0 mappings: 68
|
||||
= ((((((c25 + (((c26 + c27) + c28) + c29)) + Zero) - c31) - c10) - c32) - c33)
|
||||
- Code(Expression(130, Add)) at (prev + 0, 61) to (start + 2, 10)
|
||||
= ((c32 + c33) + c34)
|
||||
- Code(Counter(35)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Counter(35)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Expression(129, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (((c32 + c33) + c34) + c35)
|
||||
- Code(Counter(10)) at (prev + 2, 13) to (start + 2, 15)
|
||||
@ -254,7 +254,7 @@ Number of file 0 mappings: 68
|
||||
= (((((c31 + (((c32 + c33) + c34) + c35)) - c4) - c9) - c5) - c6)
|
||||
- Code(Expression(140, Add)) at (prev + 0, 61) to (start + 2, 10)
|
||||
= ((c5 + c6) + c7)
|
||||
- Code(Counter(8)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Counter(8)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Expression(139, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (((c5 + c6) + c7) + c8)
|
||||
- Code(Counter(9)) at (prev + 2, 9) to (start + 0, 15)
|
||||
|
@ -5,7 +5,7 @@
|
||||
LL| 1| if true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| | const B: u32 = 100;
|
||||
LL| 1| let x = if countdown > 7 {
|
||||
@ -25,7 +25,7 @@
|
||||
LL| 1| if true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| if countdown > 7 {
|
||||
LL| 1| countdown -= 4;
|
||||
@ -44,7 +44,7 @@
|
||||
LL| 1| if true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| if countdown > 7 {
|
||||
LL| 1| countdown -= 4;
|
||||
@ -64,7 +64,7 @@
|
||||
LL| 1| if true {
|
||||
LL| 1| countdown = 1;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| let z = if countdown > 7 {
|
||||
^0
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: dead_code::main
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 1b, 01, 07, 0f, 05, 07, 10, 02, 06, 02, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 1b, 01, 07, 0f, 05, 07, 10, 02, 06, 02, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -7,32 +7,32 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 27, 1) to (start + 7, 15)
|
||||
- Code(Counter(1)) at (prev + 7, 16) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: dead_code::unused_fn (unused)
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 0f, 01, 07, 0f, 00, 07, 10, 02, 06, 00, 02, 06, 00, 07, 00, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 0f, 01, 07, 0f, 00, 07, 10, 02, 06, 00, 02, 05, 00, 06, 00, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 15, 1) to (start + 7, 15)
|
||||
- Code(Zero) at (prev + 7, 16) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Zero) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
Function name: dead_code::unused_pub_fn_not_in_library (unused)
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 03, 01, 07, 0f, 00, 07, 10, 02, 06, 00, 02, 06, 00, 07, 00, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 03, 01, 07, 0f, 00, 07, 10, 02, 06, 00, 02, 05, 00, 06, 00, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 3, 1) to (start + 7, 15)
|
||||
- Code(Zero) at (prev + 7, 16) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Zero) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
|
@ -34,6 +34,6 @@
|
||||
LL| 1| if is_true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1|}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: if::main
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 04, 01, 12, 10, 05, 13, 05, 05, 06, 02, 05, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 04, 01, 12, 10, 05, 13, 05, 05, 06, 02, 05, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -7,7 +7,7 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 4, 1) to (start + 18, 16)
|
||||
- Code(Counter(1)) at (prev + 19, 5) to (start + 5, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 5, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 5, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
@ -26,6 +26,6 @@
|
||||
LL| 1| 10
|
||||
LL| 1| ;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1|}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: if_not::if_not
|
||||
Raw bytes (60): 0x[01, 01, 03, 01, 05, 01, 09, 01, 0d, 0a, 01, 05, 01, 03, 0d, 02, 04, 05, 02, 06, 05, 02, 06, 00, 07, 01, 03, 09, 01, 0d, 06, 02, 05, 02, 06, 09, 02, 06, 00, 07, 01, 03, 09, 01, 0d, 0a, 02, 05, 02, 06, 0d, 02, 0c, 02, 06, 01, 03, 01, 00, 02]
|
||||
Raw bytes (60): 0x[01, 01, 03, 01, 05, 01, 09, 01, 0d, 0a, 01, 05, 01, 03, 0d, 02, 04, 05, 02, 06, 05, 02, 05, 00, 06, 01, 03, 09, 01, 0d, 06, 02, 05, 02, 06, 09, 02, 05, 00, 06, 01, 03, 09, 01, 0d, 0a, 02, 05, 02, 06, 0d, 02, 0c, 02, 06, 01, 03, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 3
|
||||
@ -10,11 +10,11 @@ Number of file 0 mappings: 10
|
||||
- Code(Counter(0)) at (prev + 5, 1) to (start + 3, 13)
|
||||
- Code(Expression(0, Sub)) at (prev + 4, 5) to (start + 2, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(1)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(1)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(0)) at (prev + 3, 9) to (start + 1, 13)
|
||||
- Code(Expression(1, Sub)) at (prev + 2, 5) to (start + 2, 6)
|
||||
= (c0 - c2)
|
||||
- Code(Counter(2)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(2)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(0)) at (prev + 3, 9) to (start + 1, 13)
|
||||
- Code(Expression(2, Sub)) at (prev + 2, 5) to (start + 2, 6)
|
||||
= (c0 - c3)
|
||||
|
@ -17,7 +17,7 @@ Number of file 0 mappings: 1
|
||||
Highest counter ID seen: c0
|
||||
|
||||
Function name: inner_items::main
|
||||
Raw bytes (43): 0x[01, 01, 02, 01, 05, 01, 09, 07, 01, 03, 01, 07, 0f, 05, 07, 10, 02, 06, 02, 02, 06, 00, 07, 01, 24, 08, 00, 0f, 09, 00, 10, 02, 06, 06, 02, 06, 00, 07, 01, 02, 09, 05, 02]
|
||||
Raw bytes (43): 0x[01, 01, 02, 01, 05, 01, 09, 07, 01, 03, 01, 07, 0f, 05, 07, 10, 02, 06, 02, 02, 05, 00, 06, 01, 24, 08, 00, 0f, 09, 00, 10, 02, 06, 06, 02, 05, 00, 06, 01, 02, 09, 05, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 2
|
||||
@ -26,11 +26,11 @@ Number of expressions: 2
|
||||
Number of file 0 mappings: 7
|
||||
- Code(Counter(0)) at (prev + 3, 1) to (start + 7, 15)
|
||||
- Code(Counter(1)) at (prev + 7, 16) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 36, 8) to (start + 0, 15)
|
||||
- Code(Counter(2)) at (prev + 0, 16) to (start + 2, 6)
|
||||
- Code(Expression(1, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(1, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c2)
|
||||
- Code(Counter(0)) at (prev + 2, 9) to (start + 5, 2)
|
||||
Highest counter ID seen: c2
|
||||
|
@ -10,7 +10,7 @@
|
||||
LL| 1| if is_true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| | mod in_mod {
|
||||
LL| | const IN_MOD_CONST: u32 = 1000;
|
||||
@ -49,7 +49,7 @@
|
||||
LL| 1| if is_true {
|
||||
LL| 1| in_func(countdown);
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| 1| let mut val = InStruct {
|
||||
LL| 1| in_struct_field: 101, //
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: lazy_boolean::main
|
||||
Raw bytes (158): 0x[01, 01, 07, 01, 05, 01, 09, 01, 0d, 01, 19, 01, 1d, 01, 21, 01, 25, 1c, 01, 04, 01, 07, 0f, 05, 07, 10, 04, 06, 02, 04, 06, 00, 07, 01, 02, 09, 00, 11, 01, 02, 0d, 00, 12, 06, 02, 0d, 00, 12, 01, 03, 09, 00, 11, 01, 02, 0d, 00, 12, 0a, 02, 0d, 00, 12, 01, 02, 09, 00, 11, 01, 00, 14, 00, 19, 11, 00, 1d, 00, 22, 01, 01, 09, 00, 11, 01, 00, 14, 00, 19, 15, 00, 1d, 00, 22, 01, 03, 09, 01, 10, 0e, 02, 05, 03, 06, 19, 03, 06, 00, 07, 01, 03, 09, 00, 10, 1d, 01, 05, 03, 06, 12, 05, 05, 03, 06, 01, 05, 08, 00, 10, 16, 00, 11, 02, 06, 21, 02, 06, 00, 07, 01, 02, 08, 00, 0f, 25, 00, 10, 02, 06, 1a, 02, 0c, 02, 06, 01, 03, 01, 00, 02]
|
||||
Raw bytes (158): 0x[01, 01, 07, 01, 05, 01, 09, 01, 0d, 01, 19, 01, 1d, 01, 21, 01, 25, 1c, 01, 04, 01, 07, 0f, 05, 07, 10, 04, 06, 02, 04, 05, 00, 06, 01, 02, 09, 00, 11, 01, 02, 0d, 00, 12, 06, 02, 0d, 00, 12, 01, 03, 09, 00, 11, 01, 02, 0d, 00, 12, 0a, 02, 0d, 00, 12, 01, 02, 09, 00, 11, 01, 00, 14, 00, 19, 11, 00, 1d, 00, 22, 01, 01, 09, 00, 11, 01, 00, 14, 00, 19, 15, 00, 1d, 00, 22, 01, 03, 09, 01, 10, 0e, 02, 05, 03, 06, 19, 03, 05, 00, 06, 01, 03, 09, 00, 10, 1d, 01, 05, 03, 06, 12, 05, 05, 03, 06, 01, 05, 08, 00, 10, 16, 00, 11, 02, 06, 21, 02, 05, 00, 06, 01, 02, 08, 00, 0f, 25, 00, 10, 02, 06, 1a, 02, 0c, 02, 06, 01, 03, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 7
|
||||
@ -13,7 +13,7 @@ Number of expressions: 7
|
||||
Number of file 0 mappings: 28
|
||||
- Code(Counter(0)) at (prev + 4, 1) to (start + 7, 15)
|
||||
- Code(Counter(1)) at (prev + 7, 16) to (start + 4, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 4, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 4, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 2, 9) to (start + 0, 17)
|
||||
- Code(Counter(0)) at (prev + 2, 13) to (start + 0, 18)
|
||||
@ -32,7 +32,7 @@ Number of file 0 mappings: 28
|
||||
- Code(Counter(0)) at (prev + 3, 9) to (start + 1, 16)
|
||||
- Code(Expression(3, Sub)) at (prev + 2, 5) to (start + 3, 6)
|
||||
= (c0 - c6)
|
||||
- Code(Counter(6)) at (prev + 3, 6) to (start + 0, 7)
|
||||
- Code(Counter(6)) at (prev + 3, 5) to (start + 0, 6)
|
||||
- Code(Counter(0)) at (prev + 3, 9) to (start + 0, 16)
|
||||
- Code(Counter(7)) at (prev + 1, 5) to (start + 3, 6)
|
||||
- Code(Expression(4, Sub)) at (prev + 5, 5) to (start + 3, 6)
|
||||
@ -40,7 +40,7 @@ Number of file 0 mappings: 28
|
||||
- Code(Counter(0)) at (prev + 5, 8) to (start + 0, 16)
|
||||
- Code(Expression(5, Sub)) at (prev + 0, 17) to (start + 2, 6)
|
||||
= (c0 - c8)
|
||||
- Code(Counter(8)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Counter(8)) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Counter(0)) at (prev + 2, 8) to (start + 0, 15)
|
||||
- Code(Counter(9)) at (prev + 0, 16) to (start + 2, 6)
|
||||
- Code(Expression(6, Sub)) at (prev + 2, 12) to (start + 2, 6)
|
||||
|
@ -13,7 +13,7 @@
|
||||
LL| 1| b = 10;
|
||||
LL| 1| c = 100;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| | let
|
||||
LL| 1| somebool
|
||||
LL| | =
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: loop_break::main
|
||||
Raw bytes (31): 0x[01, 01, 01, 01, 05, 05, 01, 03, 01, 00, 0b, 03, 02, 0c, 00, 27, 01, 01, 0d, 00, 12, 05, 01, 0a, 00, 0b, 01, 02, 01, 00, 02]
|
||||
Raw bytes (31): 0x[01, 01, 01, 01, 05, 05, 01, 03, 01, 00, 0b, 03, 02, 0c, 00, 27, 01, 01, 0d, 00, 12, 05, 01, 09, 00, 0a, 01, 02, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -9,7 +9,7 @@ Number of file 0 mappings: 5
|
||||
- Code(Expression(0, Add)) at (prev + 2, 12) to (start + 0, 39)
|
||||
= (c0 + c1)
|
||||
- Code(Counter(0)) at (prev + 1, 13) to (start + 0, 18)
|
||||
- Code(Counter(1)) at (prev + 1, 10) to (start + 0, 11)
|
||||
- Code(Counter(1)) at (prev + 1, 9) to (start + 0, 10)
|
||||
- Code(Counter(0)) at (prev + 2, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: <loops_branches::DebugTest as core::fmt::Debug>::fmt
|
||||
Raw bytes (228): 0x[01, 01, 2a, 05, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, a3, 01, a7, 01, 0d, 00, 11, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 96, 01, 00, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 96, 01, 11, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 8f, 01, 19, 25, 92, 01, 96, 01, 11, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 14, 01, 09, 05, 01, 10, 05, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 02, 01, 0e, 00, 0f, 05, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, 00, 01, 10, 01, 0a, 9a, 01, 03, 0d, 00, 0e, 9f, 01, 00, 12, 00, 17, 9a, 01, 01, 10, 00, 14, 96, 01, 01, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, 46, 01, 12, 00, 13, 96, 01, 01, 11, 00, 22, 92, 01, 00, 22, 00, 23, 00, 01, 14, 01, 0e, 19, 03, 09, 00, 0f, 8b, 01, 01, 05, 00, 06]
|
||||
Raw bytes (228): 0x[01, 01, 2a, 05, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, a3, 01, a7, 01, 0d, 00, 11, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 96, 01, 00, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 96, 01, 11, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 8f, 01, 19, 25, 92, 01, 96, 01, 11, 9a, 01, 00, 9f, 01, 19, a3, 01, a7, 01, 0d, 00, 11, 00, 14, 01, 09, 05, 01, 10, 05, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 02, 01, 0d, 00, 0e, 05, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, 00, 01, 10, 01, 0a, 9a, 01, 03, 0d, 00, 0e, 9f, 01, 00, 12, 00, 17, 9a, 01, 01, 10, 00, 14, 96, 01, 01, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, 46, 01, 11, 00, 12, 96, 01, 01, 11, 00, 22, 92, 01, 00, 22, 00, 23, 00, 01, 14, 01, 0e, 19, 03, 09, 00, 0f, 8b, 01, 01, 05, 00, 06]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 42
|
||||
@ -50,7 +50,7 @@ Number of file 0 mappings: 20
|
||||
- Code(Counter(1)) at (prev + 2, 16) to (start + 0, 21)
|
||||
- Code(Zero) at (prev + 1, 23) to (start + 0, 27)
|
||||
- Code(Zero) at (prev + 0, 28) to (start + 0, 30)
|
||||
- Code(Expression(0, Sub)) at (prev + 1, 14) to (start + 0, 15)
|
||||
- Code(Expression(0, Sub)) at (prev + 1, 13) to (start + 0, 14)
|
||||
= (c1 - Zero)
|
||||
- Code(Counter(1)) at (prev + 1, 13) to (start + 0, 30)
|
||||
- Code(Counter(9)) at (prev + 0, 30) to (start + 0, 31)
|
||||
@ -65,7 +65,7 @@ Number of file 0 mappings: 20
|
||||
= ((((c3 + Zero) + (c4 + Zero)) - c6) - Zero)
|
||||
- Code(Zero) at (prev + 1, 27) to (start + 0, 31)
|
||||
- Code(Zero) at (prev + 0, 32) to (start + 0, 34)
|
||||
- Code(Expression(17, Sub)) at (prev + 1, 18) to (start + 0, 19)
|
||||
- Code(Expression(17, Sub)) at (prev + 1, 17) to (start + 0, 18)
|
||||
= (((((c3 + Zero) + (c4 + Zero)) - c6) - Zero) - Zero)
|
||||
- Code(Expression(37, Sub)) at (prev + 1, 17) to (start + 0, 34)
|
||||
= ((((c3 + Zero) + (c4 + Zero)) - c6) - Zero)
|
||||
@ -78,7 +78,7 @@ Number of file 0 mappings: 20
|
||||
Highest counter ID seen: c9
|
||||
|
||||
Function name: <loops_branches::DisplayTest as core::fmt::Display>::fmt
|
||||
Raw bytes (230): 0x[01, 01, 2b, 01, 00, 02, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, a7, 01, ab, 01, 00, 0d, 00, 15, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9a, 01, 00, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9a, 01, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 93, 01, 25, 96, 01, 19, 9a, 01, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 14, 01, 22, 05, 01, 11, 00, 01, 12, 01, 0a, 02, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 06, 01, 0e, 00, 0f, 02, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, 9e, 01, 02, 0d, 00, 0e, a3, 01, 00, 12, 00, 17, 9e, 01, 01, 10, 00, 15, 00, 00, 16, 01, 0e, 9a, 01, 02, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, 4a, 01, 12, 00, 13, 9a, 01, 01, 11, 00, 22, 96, 01, 00, 22, 00, 23, 19, 03, 09, 00, 0f, 8f, 01, 01, 05, 00, 06]
|
||||
Raw bytes (230): 0x[01, 01, 2b, 01, 00, 02, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, a7, 01, ab, 01, 00, 0d, 00, 15, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9a, 01, 00, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 9a, 01, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 93, 01, 25, 96, 01, 19, 9a, 01, 15, 9e, 01, 00, a3, 01, 19, a7, 01, ab, 01, 00, 0d, 00, 15, 14, 01, 22, 05, 01, 11, 00, 01, 12, 01, 0a, 02, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 06, 01, 0d, 00, 0e, 02, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, 9e, 01, 02, 0d, 00, 0e, a3, 01, 00, 12, 00, 17, 9e, 01, 01, 10, 00, 15, 00, 00, 16, 01, 0e, 9a, 01, 02, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, 4a, 01, 11, 00, 12, 9a, 01, 01, 11, 00, 22, 96, 01, 00, 22, 00, 23, 19, 03, 09, 00, 0f, 8f, 01, 01, 05, 00, 06]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 43
|
||||
@ -132,7 +132,7 @@ Number of file 0 mappings: 20
|
||||
= (c0 - Zero)
|
||||
- Code(Zero) at (prev + 1, 23) to (start + 0, 27)
|
||||
- Code(Zero) at (prev + 0, 28) to (start + 0, 30)
|
||||
- Code(Expression(1, Sub)) at (prev + 1, 14) to (start + 0, 15)
|
||||
- Code(Expression(1, Sub)) at (prev + 1, 13) to (start + 0, 14)
|
||||
= ((c0 - Zero) - Zero)
|
||||
- Code(Expression(0, Sub)) at (prev + 1, 13) to (start + 0, 30)
|
||||
= (c0 - Zero)
|
||||
@ -148,7 +148,7 @@ Number of file 0 mappings: 20
|
||||
= ((((Zero + c3) + (Zero + c5)) - c6) - Zero)
|
||||
- Code(Zero) at (prev + 1, 27) to (start + 0, 31)
|
||||
- Code(Zero) at (prev + 0, 32) to (start + 0, 34)
|
||||
- Code(Expression(18, Sub)) at (prev + 1, 18) to (start + 0, 19)
|
||||
- Code(Expression(18, Sub)) at (prev + 1, 17) to (start + 0, 18)
|
||||
= (((((Zero + c3) + (Zero + c5)) - c6) - Zero) - Zero)
|
||||
- Code(Expression(38, Sub)) at (prev + 1, 17) to (start + 0, 34)
|
||||
= ((((Zero + c3) + (Zero + c5)) - c6) - Zero)
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: match_or_pattern::main
|
||||
Raw bytes (185): 0x[01, 01, 1c, 01, 05, 09, 0d, 23, 11, 09, 0d, 1f, 15, 23, 11, 09, 0d, 23, 11, 09, 0d, 19, 1d, 43, 21, 19, 1d, 3f, 25, 43, 21, 19, 1d, 43, 21, 19, 1d, 29, 2d, 63, 31, 29, 2d, 5f, 35, 63, 31, 29, 2d, 63, 31, 29, 2d, 39, 3d, 6f, 41, 39, 3d, 19, 01, 01, 01, 08, 0f, 05, 08, 10, 03, 06, 02, 03, 06, 00, 07, 01, 01, 0b, 00, 11, 11, 03, 1b, 00, 1d, 23, 01, 0e, 00, 10, 1f, 02, 08, 00, 0f, 15, 00, 10, 03, 06, 12, 03, 06, 00, 07, 1f, 01, 0b, 00, 11, 21, 01, 1b, 00, 1d, 43, 01, 0e, 00, 10, 3f, 02, 08, 00, 0f, 25, 00, 10, 03, 06, 32, 03, 06, 00, 07, 3f, 01, 0b, 00, 11, 31, 01, 1b, 00, 1d, 63, 01, 0e, 00, 10, 5f, 02, 08, 00, 0f, 35, 00, 10, 03, 06, 52, 03, 06, 00, 07, 5f, 01, 0b, 00, 11, 41, 01, 1b, 00, 1d, 6f, 01, 0e, 00, 10, 6b, 02, 01, 00, 02]
|
||||
Raw bytes (185): 0x[01, 01, 1c, 01, 05, 09, 0d, 23, 11, 09, 0d, 1f, 15, 23, 11, 09, 0d, 23, 11, 09, 0d, 19, 1d, 43, 21, 19, 1d, 3f, 25, 43, 21, 19, 1d, 43, 21, 19, 1d, 29, 2d, 63, 31, 29, 2d, 5f, 35, 63, 31, 29, 2d, 63, 31, 29, 2d, 39, 3d, 6f, 41, 39, 3d, 19, 01, 01, 01, 08, 0f, 05, 08, 10, 03, 06, 02, 03, 05, 00, 06, 01, 01, 0b, 00, 11, 11, 03, 1b, 00, 1d, 23, 01, 0e, 00, 10, 1f, 02, 08, 00, 0f, 15, 00, 10, 03, 06, 12, 03, 05, 00, 06, 1f, 01, 0b, 00, 11, 21, 01, 1b, 00, 1d, 43, 01, 0e, 00, 10, 3f, 02, 08, 00, 0f, 25, 00, 10, 03, 06, 32, 03, 05, 00, 06, 3f, 01, 0b, 00, 11, 31, 01, 1b, 00, 1d, 63, 01, 0e, 00, 10, 5f, 02, 08, 00, 0f, 35, 00, 10, 03, 06, 52, 03, 05, 00, 06, 5f, 01, 0b, 00, 11, 41, 01, 1b, 00, 1d, 6f, 01, 0e, 00, 10, 6b, 02, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 28
|
||||
@ -34,7 +34,7 @@ Number of expressions: 28
|
||||
Number of file 0 mappings: 25
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 8, 15)
|
||||
- Code(Counter(1)) at (prev + 8, 16) to (start + 3, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 3, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 3, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 11) to (start + 0, 17)
|
||||
- Code(Counter(4)) at (prev + 3, 27) to (start + 0, 29)
|
||||
@ -43,7 +43,7 @@ Number of file 0 mappings: 25
|
||||
- Code(Expression(7, Add)) at (prev + 2, 8) to (start + 0, 15)
|
||||
= ((c2 + c3) + c4)
|
||||
- Code(Counter(5)) at (prev + 0, 16) to (start + 3, 6)
|
||||
- Code(Expression(4, Sub)) at (prev + 3, 6) to (start + 0, 7)
|
||||
- Code(Expression(4, Sub)) at (prev + 3, 5) to (start + 0, 6)
|
||||
= (((c2 + c3) + c4) - c5)
|
||||
- Code(Expression(7, Add)) at (prev + 1, 11) to (start + 0, 17)
|
||||
= ((c2 + c3) + c4)
|
||||
@ -53,7 +53,7 @@ Number of file 0 mappings: 25
|
||||
- Code(Expression(15, Add)) at (prev + 2, 8) to (start + 0, 15)
|
||||
= ((c6 + c7) + c8)
|
||||
- Code(Counter(9)) at (prev + 0, 16) to (start + 3, 6)
|
||||
- Code(Expression(12, Sub)) at (prev + 3, 6) to (start + 0, 7)
|
||||
- Code(Expression(12, Sub)) at (prev + 3, 5) to (start + 0, 6)
|
||||
= (((c6 + c7) + c8) - c9)
|
||||
- Code(Expression(15, Add)) at (prev + 1, 11) to (start + 0, 17)
|
||||
= ((c6 + c7) + c8)
|
||||
@ -63,7 +63,7 @@ Number of file 0 mappings: 25
|
||||
- Code(Expression(23, Add)) at (prev + 2, 8) to (start + 0, 15)
|
||||
= ((c10 + c11) + c12)
|
||||
- Code(Counter(13)) at (prev + 0, 16) to (start + 3, 6)
|
||||
- Code(Expression(20, Sub)) at (prev + 3, 6) to (start + 0, 7)
|
||||
- Code(Expression(20, Sub)) at (prev + 3, 5) to (start + 0, 6)
|
||||
= (((c10 + c11) + c12) - c13)
|
||||
- Code(Expression(23, Add)) at (prev + 1, 11) to (start + 0, 17)
|
||||
= ((c10 + c11) + c12)
|
||||
|
@ -10,7 +10,7 @@
|
||||
LL| 1| a = 2;
|
||||
LL| 1| b = 0;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| match (a, b) {
|
||||
LL| | // Or patterns generate MIR `SwitchInt` with multiple targets to the same `BasicBlock`.
|
||||
LL| | // This test confirms a fix for Issue #79569.
|
||||
@ -21,7 +21,7 @@
|
||||
LL| 1| a = 0;
|
||||
LL| 1| b = 0;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| match (a, b) {
|
||||
LL| 0| (0 | 1, 2 | 3) => {}
|
||||
LL| 1| _ => {}
|
||||
@ -30,7 +30,7 @@
|
||||
LL| 1| a = 2;
|
||||
LL| 1| b = 2;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| match (a, b) {
|
||||
LL| 0| (0 | 1, 2 | 3) => {}
|
||||
LL| 1| _ => {}
|
||||
@ -39,7 +39,7 @@
|
||||
LL| 1| a = 0;
|
||||
LL| 1| b = 2;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| match (a, b) {
|
||||
LL| 1| (0 | 1, 2 | 3) => {}
|
||||
LL| 0| _ => {}
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: condition_limit::accept_7_conditions
|
||||
Raw bytes (232): 0x[01, 01, 2c, 01, 05, 05, 1d, 05, 1d, 7a, 19, 05, 1d, 7a, 19, 05, 1d, 76, 15, 7a, 19, 05, 1d, 76, 15, 7a, 19, 05, 1d, 72, 11, 76, 15, 7a, 19, 05, 1d, 72, 11, 76, 15, 7a, 19, 05, 1d, 6e, 0d, 72, 11, 76, 15, 7a, 19, 05, 1d, 6e, 0d, 72, 11, 76, 15, 7a, 19, 05, 1d, 9f, 01, 02, a3, 01, 1d, a7, 01, 19, ab, 01, 15, af, 01, 11, 09, 0d, 21, 9b, 01, 9f, 01, 02, a3, 01, 1d, a7, 01, 19, ab, 01, 15, af, 01, 11, 09, 0d, 12, 01, 07, 01, 02, 09, 28, 08, 07, 02, 08, 00, 27, 30, 05, 02, 01, 07, 00, 00, 08, 00, 09, 05, 00, 0d, 00, 0e, 30, 7a, 1d, 07, 06, 00, 00, 0d, 00, 0e, 7a, 00, 12, 00, 13, 30, 76, 19, 06, 05, 00, 00, 12, 00, 13, 76, 00, 17, 00, 18, 30, 72, 15, 05, 04, 00, 00, 17, 00, 18, 72, 00, 1c, 00, 1d, 30, 6e, 11, 04, 03, 00, 00, 1c, 00, 1d, 6e, 00, 21, 00, 22, 30, 6a, 0d, 03, 02, 00, 00, 21, 00, 22, 6a, 00, 26, 00, 27, 30, 21, 09, 02, 00, 00, 00, 26, 00, 27, 21, 00, 28, 02, 06, 9b, 01, 02, 06, 00, 07, 97, 01, 01, 01, 00, 02]
|
||||
Raw bytes (232): 0x[01, 01, 2c, 01, 05, 05, 1d, 05, 1d, 7a, 19, 05, 1d, 7a, 19, 05, 1d, 76, 15, 7a, 19, 05, 1d, 76, 15, 7a, 19, 05, 1d, 72, 11, 76, 15, 7a, 19, 05, 1d, 72, 11, 76, 15, 7a, 19, 05, 1d, 6e, 0d, 72, 11, 76, 15, 7a, 19, 05, 1d, 6e, 0d, 72, 11, 76, 15, 7a, 19, 05, 1d, 9f, 01, 02, a3, 01, 1d, a7, 01, 19, ab, 01, 15, af, 01, 11, 09, 0d, 21, 9b, 01, 9f, 01, 02, a3, 01, 1d, a7, 01, 19, ab, 01, 15, af, 01, 11, 09, 0d, 12, 01, 07, 01, 02, 09, 28, 08, 07, 02, 08, 00, 27, 30, 05, 02, 01, 07, 00, 00, 08, 00, 09, 05, 00, 0d, 00, 0e, 30, 7a, 1d, 07, 06, 00, 00, 0d, 00, 0e, 7a, 00, 12, 00, 13, 30, 76, 19, 06, 05, 00, 00, 12, 00, 13, 76, 00, 17, 00, 18, 30, 72, 15, 05, 04, 00, 00, 17, 00, 18, 72, 00, 1c, 00, 1d, 30, 6e, 11, 04, 03, 00, 00, 1c, 00, 1d, 6e, 00, 21, 00, 22, 30, 6a, 0d, 03, 02, 00, 00, 21, 00, 22, 6a, 00, 26, 00, 27, 30, 21, 09, 02, 00, 00, 00, 26, 00, 27, 21, 00, 28, 02, 06, 9b, 01, 02, 05, 00, 06, 97, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 44
|
||||
@ -83,7 +83,7 @@ Number of file 0 mappings: 18
|
||||
true = c8
|
||||
false = c2
|
||||
- Code(Counter(8)) at (prev + 0, 40) to (start + 2, 6)
|
||||
- Code(Expression(38, Add)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(38, Add)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= ((((((c2 + c3) + c4) + c5) + c6) + c7) + (c0 - c1))
|
||||
- Code(Expression(37, Add)) at (prev + 1, 1) to (start + 0, 2)
|
||||
= (c8 + ((((((c2 + c3) + c4) + c5) + c6) + c7) + (c0 - c1)))
|
||||
|
@ -175,7 +175,7 @@ Number of file 0 mappings: 10
|
||||
Highest counter ID seen: c4
|
||||
|
||||
Function name: if::mcdc_nested_if
|
||||
Raw bytes (124): 0x[01, 01, 0d, 01, 05, 02, 09, 05, 09, 1b, 15, 05, 09, 1b, 15, 05, 09, 11, 15, 02, 09, 2b, 32, 0d, 2f, 11, 15, 02, 09, 0e, 01, 3b, 01, 01, 09, 28, 03, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 00, 02, 00, 08, 00, 09, 02, 00, 0d, 00, 0e, 30, 09, 32, 02, 00, 00, 00, 0d, 00, 0e, 1b, 01, 09, 01, 0d, 28, 06, 02, 01, 0c, 00, 12, 30, 16, 15, 01, 02, 00, 00, 0c, 00, 0d, 16, 00, 11, 00, 12, 30, 0d, 11, 02, 00, 00, 00, 11, 00, 12, 0d, 00, 13, 02, 0a, 2f, 02, 0a, 00, 0b, 32, 01, 0c, 02, 06, 27, 03, 01, 00, 02]
|
||||
Raw bytes (124): 0x[01, 01, 0d, 01, 05, 02, 09, 05, 09, 1b, 15, 05, 09, 1b, 15, 05, 09, 11, 15, 02, 09, 2b, 32, 0d, 2f, 11, 15, 02, 09, 0e, 01, 3b, 01, 01, 09, 28, 03, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 00, 02, 00, 08, 00, 09, 02, 00, 0d, 00, 0e, 30, 09, 32, 02, 00, 00, 00, 0d, 00, 0e, 1b, 01, 09, 01, 0d, 28, 06, 02, 01, 0c, 00, 12, 30, 16, 15, 01, 02, 00, 00, 0c, 00, 0d, 16, 00, 11, 00, 12, 30, 0d, 11, 02, 00, 00, 00, 11, 00, 12, 0d, 00, 13, 02, 0a, 2f, 02, 09, 00, 0a, 32, 01, 0c, 02, 06, 27, 03, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 13
|
||||
@ -215,7 +215,7 @@ Number of file 0 mappings: 14
|
||||
true = c3
|
||||
false = c4
|
||||
- Code(Counter(3)) at (prev + 0, 19) to (start + 2, 10)
|
||||
- Code(Expression(11, Add)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Expression(11, Add)) at (prev + 2, 9) to (start + 0, 10)
|
||||
= (c4 + c5)
|
||||
- Code(Expression(12, Sub)) at (prev + 1, 12) to (start + 2, 6)
|
||||
= ((c0 - c1) - c2)
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: nested_loops::main
|
||||
Raw bytes (115): 0x[01, 01, 17, 01, 57, 05, 09, 03, 0d, 4e, 53, 03, 0d, 15, 19, 4b, 09, 4e, 53, 03, 0d, 15, 19, 46, 05, 4b, 09, 4e, 53, 03, 0d, 15, 19, 42, 19, 46, 05, 4b, 09, 4e, 53, 03, 0d, 15, 19, 05, 09, 11, 0d, 0d, 01, 01, 01, 02, 1b, 03, 04, 13, 00, 20, 4e, 01, 0d, 01, 18, 4b, 02, 12, 00, 17, 46, 01, 10, 00, 16, 05, 01, 11, 00, 16, 42, 01, 0e, 03, 16, 3e, 04, 11, 01, 1b, 11, 02, 15, 00, 21, 15, 01, 18, 02, 12, 19, 03, 0e, 00, 0f, 57, 02, 09, 00, 17, 5b, 02, 01, 00, 02]
|
||||
Raw bytes (115): 0x[01, 01, 17, 01, 57, 05, 09, 03, 0d, 4e, 53, 03, 0d, 15, 19, 4b, 09, 4e, 53, 03, 0d, 15, 19, 46, 05, 4b, 09, 4e, 53, 03, 0d, 15, 19, 42, 19, 46, 05, 4b, 09, 4e, 53, 03, 0d, 15, 19, 05, 09, 11, 0d, 0d, 01, 01, 01, 02, 1b, 03, 04, 13, 00, 20, 4e, 01, 0d, 01, 18, 4b, 02, 12, 00, 17, 46, 01, 10, 00, 16, 05, 01, 11, 00, 16, 42, 01, 0e, 03, 16, 3e, 04, 11, 01, 1b, 11, 02, 15, 00, 21, 15, 01, 18, 02, 12, 19, 03, 0d, 00, 0e, 57, 02, 09, 00, 17, 5b, 02, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 23
|
||||
@ -43,7 +43,7 @@ Number of file 0 mappings: 13
|
||||
= ((((((c0 + (c1 + c2)) - c3) + (c5 + c6)) - c2) - c1) - c6)
|
||||
- Code(Counter(4)) at (prev + 2, 21) to (start + 0, 33)
|
||||
- Code(Counter(5)) at (prev + 1, 24) to (start + 2, 18)
|
||||
- Code(Counter(6)) at (prev + 3, 14) to (start + 0, 15)
|
||||
- Code(Counter(6)) at (prev + 3, 13) to (start + 0, 14)
|
||||
- Code(Expression(21, Add)) at (prev + 2, 9) to (start + 0, 23)
|
||||
= (c1 + c2)
|
||||
- Code(Expression(22, Add)) at (prev + 2, 1) to (start + 0, 2)
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: overflow::main
|
||||
Raw bytes (65): 0x[01, 01, 08, 01, 1b, 05, 1f, 09, 0d, 03, 11, 16, 05, 03, 11, 05, 1f, 09, 0d, 09, 01, 10, 01, 01, 1b, 03, 02, 0b, 00, 18, 16, 01, 0c, 00, 1a, 05, 00, 1b, 03, 0a, 12, 03, 13, 00, 20, 09, 00, 21, 03, 0a, 0d, 03, 0a, 00, 0b, 1b, 01, 09, 00, 17, 11, 02, 05, 01, 02]
|
||||
Raw bytes (65): 0x[01, 01, 08, 01, 1b, 05, 1f, 09, 0d, 03, 11, 16, 05, 03, 11, 05, 1f, 09, 0d, 09, 01, 10, 01, 01, 1b, 03, 02, 0b, 00, 18, 16, 01, 0c, 00, 1a, 05, 00, 1b, 03, 0a, 12, 03, 13, 00, 20, 09, 00, 21, 03, 0a, 0d, 03, 09, 00, 0a, 1b, 01, 09, 00, 17, 11, 02, 05, 01, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 8
|
||||
@ -21,14 +21,14 @@ Number of file 0 mappings: 9
|
||||
- Code(Expression(4, Sub)) at (prev + 3, 19) to (start + 0, 32)
|
||||
= (((c0 + (c1 + (c2 + c3))) - c4) - c1)
|
||||
- Code(Counter(2)) at (prev + 0, 33) to (start + 3, 10)
|
||||
- Code(Counter(3)) at (prev + 3, 10) to (start + 0, 11)
|
||||
- Code(Counter(3)) at (prev + 3, 9) to (start + 0, 10)
|
||||
- Code(Expression(6, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (c1 + (c2 + c3))
|
||||
- Code(Counter(4)) at (prev + 2, 5) to (start + 1, 2)
|
||||
Highest counter ID seen: c4
|
||||
|
||||
Function name: overflow::might_overflow
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 05, 01, 01, 12, 05, 01, 13, 02, 06, 02, 02, 06, 00, 07, 01, 01, 09, 05, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 05, 01, 01, 12, 05, 01, 13, 02, 06, 02, 02, 05, 00, 06, 01, 01, 09, 05, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -36,7 +36,7 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 5, 1) to (start + 1, 18)
|
||||
- Code(Counter(1)) at (prev + 1, 19) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 9) to (start + 5, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: panic_unwind::main
|
||||
Raw bytes (65): 0x[01, 01, 08, 01, 1b, 05, 1f, 09, 0d, 03, 11, 16, 05, 03, 11, 05, 1f, 09, 0d, 09, 01, 0d, 01, 01, 1b, 03, 02, 0b, 00, 18, 16, 01, 0c, 00, 1a, 05, 00, 1b, 02, 0a, 12, 02, 13, 00, 20, 09, 00, 21, 02, 0a, 0d, 02, 0a, 00, 0b, 1b, 01, 09, 00, 17, 11, 02, 05, 01, 02]
|
||||
Raw bytes (65): 0x[01, 01, 08, 01, 1b, 05, 1f, 09, 0d, 03, 11, 16, 05, 03, 11, 05, 1f, 09, 0d, 09, 01, 0d, 01, 01, 1b, 03, 02, 0b, 00, 18, 16, 01, 0c, 00, 1a, 05, 00, 1b, 02, 0a, 12, 02, 13, 00, 20, 09, 00, 21, 02, 0a, 0d, 02, 09, 00, 0a, 1b, 01, 09, 00, 17, 11, 02, 05, 01, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 8
|
||||
@ -21,7 +21,7 @@ Number of file 0 mappings: 9
|
||||
- Code(Expression(4, Sub)) at (prev + 2, 19) to (start + 0, 32)
|
||||
= (((c0 + (c1 + (c2 + c3))) - c4) - c1)
|
||||
- Code(Counter(2)) at (prev + 0, 33) to (start + 2, 10)
|
||||
- Code(Counter(3)) at (prev + 2, 10) to (start + 0, 11)
|
||||
- Code(Counter(3)) at (prev + 2, 9) to (start + 0, 10)
|
||||
- Code(Expression(6, Add)) at (prev + 1, 9) to (start + 0, 23)
|
||||
= (c1 + (c2 + c3))
|
||||
- Code(Counter(4)) at (prev + 2, 5) to (start + 1, 2)
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: simple_loop::main
|
||||
Raw bytes (43): 0x[01, 01, 02, 01, 05, 01, 09, 07, 01, 04, 01, 09, 10, 05, 0a, 05, 05, 06, 02, 05, 06, 00, 07, 07, 05, 0d, 02, 0e, 01, 04, 0d, 00, 12, 09, 02, 0a, 03, 0a, 01, 06, 01, 00, 02]
|
||||
Raw bytes (43): 0x[01, 01, 02, 01, 05, 01, 09, 07, 01, 04, 01, 09, 10, 05, 0a, 05, 05, 06, 02, 05, 05, 00, 06, 07, 05, 0d, 02, 0e, 01, 04, 0d, 00, 12, 09, 02, 0a, 03, 0a, 01, 06, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 2
|
||||
@ -8,7 +8,7 @@ Number of expressions: 2
|
||||
Number of file 0 mappings: 7
|
||||
- Code(Counter(0)) at (prev + 4, 1) to (start + 9, 16)
|
||||
- Code(Counter(1)) at (prev + 10, 5) to (start + 5, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 5, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 5, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Expression(1, Add)) at (prev + 5, 13) to (start + 2, 14)
|
||||
= (c0 + c2)
|
||||
|
@ -17,7 +17,7 @@
|
||||
LL| 1| 10
|
||||
LL| 1| ;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| | loop
|
||||
LL| | {
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: simple_match::main
|
||||
Raw bytes (72): 0x[01, 01, 09, 01, 05, 01, 23, 09, 0d, 1f, 11, 01, 23, 09, 0d, 1f, 11, 01, 23, 09, 0d, 0a, 01, 04, 01, 07, 0f, 05, 07, 10, 02, 06, 02, 02, 06, 00, 07, 1f, 05, 09, 00, 0d, 1a, 05, 0d, 00, 16, 09, 02, 0d, 00, 0e, 1a, 02, 11, 02, 12, 09, 04, 0d, 07, 0e, 0d, 0a, 0d, 00, 0f, 11, 03, 01, 00, 02]
|
||||
Raw bytes (72): 0x[01, 01, 09, 01, 05, 01, 23, 09, 0d, 1f, 11, 01, 23, 09, 0d, 1f, 11, 01, 23, 09, 0d, 0a, 01, 04, 01, 07, 0f, 05, 07, 10, 02, 06, 02, 02, 05, 00, 06, 1f, 05, 09, 00, 0d, 1a, 05, 0d, 00, 16, 09, 02, 0d, 00, 0e, 1a, 02, 11, 02, 12, 09, 04, 0d, 07, 0e, 0d, 0a, 0d, 00, 0f, 11, 03, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 9
|
||||
@ -15,7 +15,7 @@ Number of expressions: 9
|
||||
Number of file 0 mappings: 10
|
||||
- Code(Counter(0)) at (prev + 4, 1) to (start + 7, 15)
|
||||
- Code(Counter(1)) at (prev + 7, 16) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Expression(7, Add)) at (prev + 5, 9) to (start + 0, 13)
|
||||
= (c0 + (c2 + c3))
|
||||
|
@ -11,7 +11,7 @@
|
||||
LL| 1| if is_true {
|
||||
LL| 1| countdown = 0;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| |
|
||||
LL| | for
|
||||
LL| | _
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: sort_groups::generic_fn::<&str>
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -7,13 +7,13 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 17, 1) to (start + 1, 12)
|
||||
- Code(Counter(1)) at (prev + 1, 13) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: sort_groups::generic_fn::<()>
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -21,13 +21,13 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 17, 1) to (start + 1, 12)
|
||||
- Code(Counter(1)) at (prev + 1, 13) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: sort_groups::generic_fn::<char>
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -35,13 +35,13 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 17, 1) to (start + 1, 12)
|
||||
- Code(Counter(1)) at (prev + 1, 13) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: sort_groups::generic_fn::<i32>
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 06, 00, 07, 01, 01, 01, 00, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 11, 01, 01, 0c, 05, 01, 0d, 02, 06, 02, 02, 05, 00, 06, 01, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -49,13 +49,13 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 17, 1) to (start + 1, 12)
|
||||
- Code(Counter(1)) at (prev + 1, 13) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
||||
Function name: sort_groups::main
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 06, 01, 04, 23, 05, 04, 24, 02, 06, 02, 02, 06, 00, 07, 01, 01, 05, 02, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 06, 01, 04, 23, 05, 04, 24, 02, 06, 02, 02, 05, 00, 06, 01, 01, 05, 02, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -63,7 +63,7 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 6, 1) to (start + 4, 35)
|
||||
- Code(Counter(1)) at (prev + 4, 36) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 5) to (start + 2, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
@ -27,7 +27,7 @@
|
||||
| LL| 1| if cond {
|
||||
| LL| 1| println!("{}", std::any::type_name::<T>());
|
||||
| LL| 1| }
|
||||
| ^0
|
||||
| ^0
|
||||
| LL| 1|}
|
||||
------------------
|
||||
| sort_groups::generic_fn::<()>:
|
||||
|
@ -1,5 +1,5 @@
|
||||
Function name: unicode::main
|
||||
Raw bytes (61): 0x[01, 01, 06, 01, 05, 16, 0d, 01, 09, 11, 13, 16, 0d, 01, 09, 09, 01, 0e, 01, 00, 0b, 05, 01, 09, 00, 0c, 03, 00, 10, 00, 1b, 05, 00, 1c, 00, 28, 01, 02, 08, 00, 25, 09, 00, 29, 00, 46, 11, 00, 47, 02, 06, 13, 02, 06, 00, 07, 0f, 02, 05, 01, 02]
|
||||
Raw bytes (61): 0x[01, 01, 06, 01, 05, 16, 0d, 01, 09, 11, 13, 16, 0d, 01, 09, 09, 01, 0e, 01, 00, 0b, 05, 01, 09, 00, 0c, 03, 00, 10, 00, 1b, 05, 00, 1c, 00, 28, 01, 02, 08, 00, 25, 09, 00, 29, 00, 46, 11, 00, 47, 02, 06, 13, 02, 05, 00, 06, 0f, 02, 05, 01, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 6
|
||||
@ -18,7 +18,7 @@ Number of file 0 mappings: 9
|
||||
- Code(Counter(0)) at (prev + 2, 8) to (start + 0, 37)
|
||||
- Code(Counter(2)) at (prev + 0, 41) to (start + 0, 70)
|
||||
- Code(Counter(4)) at (prev + 0, 71) to (start + 2, 6)
|
||||
- Code(Expression(4, Add)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(4, Add)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= ((c0 - c2) + c3)
|
||||
- Code(Expression(3, Add)) at (prev + 2, 5) to (start + 1, 2)
|
||||
= (c4 + ((c0 - c2) + c3))
|
||||
|
@ -18,7 +18,7 @@
|
||||
LL| [0;35m1[0m| if 申し訳ございません() && [0;41m申し訳ございません()[0m [0;41m{[0m
|
||||
^0
|
||||
LL| 0|[0;41m println!("true");[0m
|
||||
LL| 1|[0;41m }[0m
|
||||
LL| 1|[0;41m [0m}
|
||||
LL| |
|
||||
LL| 1| サビ();
|
||||
LL| 1|}
|
||||
|
@ -50,38 +50,38 @@ Number of file 0 mappings: 1
|
||||
Highest counter ID seen: c0
|
||||
|
||||
Function name: unused::unused_func (unused)
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 13, 01, 01, 0e, 00, 01, 0f, 02, 06, 00, 02, 06, 00, 07, 00, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 13, 01, 01, 0e, 00, 01, 0f, 02, 06, 00, 02, 05, 00, 06, 00, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 19, 1) to (start + 1, 14)
|
||||
- Code(Zero) at (prev + 1, 15) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Zero) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
Function name: unused::unused_func2 (unused)
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 19, 01, 01, 0e, 00, 01, 0f, 02, 06, 00, 02, 06, 00, 07, 00, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 19, 01, 01, 0e, 00, 01, 0f, 02, 06, 00, 02, 05, 00, 06, 00, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 25, 1) to (start + 1, 14)
|
||||
- Code(Zero) at (prev + 1, 15) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Zero) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
Function name: unused::unused_func3 (unused)
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 1f, 01, 01, 0e, 00, 01, 0f, 02, 06, 00, 02, 06, 00, 07, 00, 01, 01, 00, 02]
|
||||
Raw bytes (24): 0x[01, 01, 00, 04, 00, 1f, 01, 01, 0e, 00, 01, 0f, 02, 06, 00, 02, 05, 00, 06, 00, 01, 01, 00, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Zero) at (prev + 31, 1) to (start + 1, 14)
|
||||
- Code(Zero) at (prev + 1, 15) to (start + 2, 6)
|
||||
- Code(Zero) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Zero) at (prev + 2, 5) to (start + 0, 6)
|
||||
- Code(Zero) at (prev + 1, 1) to (start + 0, 2)
|
||||
Highest counter ID seen: (none)
|
||||
|
||||
|
@ -14,7 +14,7 @@ $DIR/auxiliary/used_crate.rs:
|
||||
LL| 1| if is_true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| use_this_lib_crate();
|
||||
LL| 1|}
|
||||
LL| |
|
||||
|
@ -8,7 +8,7 @@ Number of file 0 mappings: 1
|
||||
Highest counter ID seen: c0
|
||||
|
||||
Function name: used_inline_crate::used_inline_function
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 14, 01, 06, 0f, 05, 06, 10, 02, 06, 02, 02, 06, 00, 07, 01, 01, 05, 01, 02]
|
||||
Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 14, 01, 06, 0f, 05, 06, 10, 02, 06, 02, 02, 05, 00, 06, 01, 01, 05, 01, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 1
|
||||
@ -16,7 +16,7 @@ Number of expressions: 1
|
||||
Number of file 0 mappings: 4
|
||||
- Code(Counter(0)) at (prev + 20, 1) to (start + 6, 15)
|
||||
- Code(Counter(1)) at (prev + 6, 16) to (start + 2, 6)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 6) to (start + 0, 7)
|
||||
- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6)
|
||||
= (c0 - c1)
|
||||
- Code(Counter(0)) at (prev + 1, 5) to (start + 1, 2)
|
||||
Highest counter ID seen: c1
|
||||
|
@ -14,7 +14,7 @@ $DIR/auxiliary/used_inline_crate.rs:
|
||||
LL| 1| if is_true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| use_this_lib_crate();
|
||||
LL| 1|}
|
||||
LL| |
|
||||
@ -28,7 +28,7 @@ $DIR/auxiliary/used_inline_crate.rs:
|
||||
LL| 1| if is_true {
|
||||
LL| 1| countdown = 10;
|
||||
LL| 1| }
|
||||
^0
|
||||
^0
|
||||
LL| 1| use_this_lib_crate();
|
||||
LL| 1|}
|
||||
LL| |
|
||||
|
@ -26,18 +26,19 @@
|
||||
debug a => _9;
|
||||
}
|
||||
|
||||
+ coverage body span: $DIR/branch_match_arms.rs:14:11: 21:2 (#0)
|
||||
+ coverage ExpressionId(0) => Expression { lhs: Counter(1), op: Add, rhs: Counter(2) };
|
||||
+ coverage ExpressionId(1) => Expression { lhs: Expression(0), op: Add, rhs: Counter(3) };
|
||||
+ coverage ExpressionId(2) => Expression { lhs: Counter(0), op: Subtract, rhs: Expression(1) };
|
||||
+ coverage ExpressionId(3) => Expression { lhs: Counter(3), op: Add, rhs: Counter(2) };
|
||||
+ coverage ExpressionId(4) => Expression { lhs: Expression(3), op: Add, rhs: Counter(1) };
|
||||
+ coverage ExpressionId(5) => Expression { lhs: Expression(4), op: Add, rhs: Expression(2) };
|
||||
+ coverage Code(Counter(0)) => $DIR/branch_match_arms.rs:14:1 - 15:21;
|
||||
+ coverage Code(Counter(3)) => $DIR/branch_match_arms.rs:16:17 - 16:33;
|
||||
+ coverage Code(Counter(2)) => $DIR/branch_match_arms.rs:17:17 - 17:33;
|
||||
+ coverage Code(Counter(1)) => $DIR/branch_match_arms.rs:18:17 - 18:33;
|
||||
+ coverage Code(Expression(2)) => $DIR/branch_match_arms.rs:19:17 - 19:33;
|
||||
+ coverage Code(Expression(5)) => $DIR/branch_match_arms.rs:21:1 - 21:2;
|
||||
+ coverage Code(Counter(0)) => 14:1 - 15:21;
|
||||
+ coverage Code(Counter(3)) => 16:17 - 16:33;
|
||||
+ coverage Code(Counter(2)) => 17:17 - 17:33;
|
||||
+ coverage Code(Counter(1)) => 18:17 - 18:33;
|
||||
+ coverage Code(Expression(2)) => 19:17 - 19:33;
|
||||
+ coverage Code(Expression(5)) => 21:1 - 21:2;
|
||||
+
|
||||
bb0: {
|
||||
+ Coverage::CounterIncrement(0);
|
||||
|
@ -4,7 +4,8 @@
|
||||
fn bar() -> bool {
|
||||
let mut _0: bool;
|
||||
|
||||
+ coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:19:1 - 21:2;
|
||||
+ coverage body span: $DIR/instrument_coverage.rs:19:18: 21:2 (#0)
|
||||
+ coverage Code(Counter(0)) => 19:1 - 21:2;
|
||||
+
|
||||
bb0: {
|
||||
+ Coverage::CounterIncrement(0);
|
||||
|
@ -7,12 +7,13 @@
|
||||
let mut _2: bool;
|
||||
let mut _3: !;
|
||||
|
||||
+ coverage body span: $DIR/instrument_coverage.rs:10:11: 16:2 (#0)
|
||||
+ coverage ExpressionId(0) => Expression { lhs: Counter(0), op: Add, rhs: Counter(1) };
|
||||
+ coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:10:1 - 10:11;
|
||||
+ coverage Code(Expression(0)) => $DIR/instrument_coverage.rs:12:12 - 12:17;
|
||||
+ coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:13:13 - 13:18;
|
||||
+ coverage Code(Counter(1)) => $DIR/instrument_coverage.rs:14:10 - 14:11;
|
||||
+ coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:16:1 - 16:2;
|
||||
+ coverage Code(Counter(0)) => 10:1 - 10:11;
|
||||
+ coverage Code(Expression(0)) => 12:12 - 12:17;
|
||||
+ coverage Code(Counter(0)) => 13:13 - 13:18;
|
||||
+ coverage Code(Counter(1)) => 14:9 - 14:10;
|
||||
+ coverage Code(Counter(0)) => 16:1 - 16:2;
|
||||
+
|
||||
bb0: {
|
||||
+ Coverage::CounterIncrement(0);
|
||||
|
@ -7,12 +7,13 @@
|
||||
|
||||
coverage branch { true: BlockMarkerId(0), false: BlockMarkerId(1) } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0)
|
||||
|
||||
coverage body span: $DIR/instrument_coverage_cleanup.rs:13:11: 15:2 (#0)
|
||||
coverage ExpressionId(0) => Expression { lhs: Counter(0), op: Subtract, rhs: Counter(1) };
|
||||
coverage Code(Counter(0)) => $DIR/instrument_coverage_cleanup.rs:13:1 - 14:36;
|
||||
coverage Code(Expression(0)) => $DIR/instrument_coverage_cleanup.rs:14:37 - 14:39;
|
||||
coverage Code(Counter(1)) => $DIR/instrument_coverage_cleanup.rs:14:39 - 14:40;
|
||||
coverage Code(Counter(0)) => $DIR/instrument_coverage_cleanup.rs:15:1 - 15:2;
|
||||
coverage Branch { true_term: Expression(0), false_term: Counter(1) } => $DIR/instrument_coverage_cleanup.rs:14:8 - 14:36;
|
||||
coverage Code(Counter(0)) => 13:1 - 14:36;
|
||||
coverage Code(Expression(0)) => 14:37 - 14:39;
|
||||
coverage Code(Counter(1)) => 14:38 - 14:39;
|
||||
coverage Code(Counter(0)) => 15:1 - 15:2;
|
||||
coverage Branch { true_term: Expression(0), false_term: Counter(1) } => 14:8 - 14:36;
|
||||
|
||||
bb0: {
|
||||
Coverage::CounterIncrement(0);
|
||||
|
@ -7,12 +7,13 @@
|
||||
|
||||
coverage branch { true: BlockMarkerId(0), false: BlockMarkerId(1) } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0)
|
||||
|
||||
+ coverage body span: $DIR/instrument_coverage_cleanup.rs:13:11: 15:2 (#0)
|
||||
+ coverage ExpressionId(0) => Expression { lhs: Counter(0), op: Subtract, rhs: Counter(1) };
|
||||
+ coverage Code(Counter(0)) => $DIR/instrument_coverage_cleanup.rs:13:1 - 14:36;
|
||||
+ coverage Code(Expression(0)) => $DIR/instrument_coverage_cleanup.rs:14:37 - 14:39;
|
||||
+ coverage Code(Counter(1)) => $DIR/instrument_coverage_cleanup.rs:14:39 - 14:40;
|
||||
+ coverage Code(Counter(0)) => $DIR/instrument_coverage_cleanup.rs:15:1 - 15:2;
|
||||
+ coverage Branch { true_term: Expression(0), false_term: Counter(1) } => $DIR/instrument_coverage_cleanup.rs:14:8 - 14:36;
|
||||
+ coverage Code(Counter(0)) => 13:1 - 14:36;
|
||||
+ coverage Code(Expression(0)) => 14:37 - 14:39;
|
||||
+ coverage Code(Counter(1)) => 14:38 - 14:39;
|
||||
+ coverage Code(Counter(0)) => 15:1 - 15:2;
|
||||
+ coverage Branch { true_term: Expression(0), false_term: Counter(1) } => 14:8 - 14:36;
|
||||
+
|
||||
bb0: {
|
||||
+ Coverage::CounterIncrement(0);
|
||||
|
Loading…
Reference in New Issue
Block a user