Auto merge of #76540 - tmandry:rollup-5ogt8x0, r=tmandry
Rollup of 14 pull requests Successful merges: - #75094 (Add `-Z combine_cgu` flag) - #75984 (Improve unresolved use error message) - #76141 (Address review comments about config.toml from rustc-dev-guide PR) - #76313 (Improved the MIR spanview output) - #76430 (Add align to rustc-attrs unstable book) - #76465 (Add a script to automatically update Rust/Clang versions in documentation) - #76473 (Add missed spaces to GCC-WARNING.txt) - #76481 (Convert repetitive target_pointer_width checks to const solution.) - #76493 (Remove a stray ignore-tidy-undocumented-unsafe) - #76504 (Capitalize safety comments) - #76515 (SessionDiagnostic: Fix non-determinism in generated format string.) - #76516 (Enable GitHub Releases synchronization) - #76522 (remove redundant clones) - #76523 (Remove unused PlaceContext::NonUse(NonUseContext::Coverage)) Failed merges: r? `@ghost`
This commit is contained in:
commit
97eb606e4b
96 changed files with 1288 additions and 510 deletions
|
@ -346,14 +346,14 @@ fn fat_lto(
|
|||
Ok(LtoModuleCodegen::Fat { module: Some(module), _serialized_bitcode: serialized_bitcode })
|
||||
}
|
||||
|
||||
struct Linker<'a>(&'a mut llvm::Linker<'a>);
|
||||
crate struct Linker<'a>(&'a mut llvm::Linker<'a>);
|
||||
|
||||
impl Linker<'a> {
|
||||
fn new(llmod: &'a llvm::Module) -> Self {
|
||||
crate fn new(llmod: &'a llvm::Module) -> Self {
|
||||
unsafe { Linker(llvm::LLVMRustLinkerNew(llmod)) }
|
||||
}
|
||||
|
||||
fn add(&mut self, bytecode: &[u8]) -> Result<(), ()> {
|
||||
crate fn add(&mut self, bytecode: &[u8]) -> Result<(), ()> {
|
||||
unsafe {
|
||||
if llvm::LLVMRustLinkerAdd(
|
||||
self.0,
|
||||
|
|
|
@ -617,6 +617,31 @@ unsafe fn add_sanitizer_passes(config: &ModuleConfig, passes: &mut Vec<&'static
|
|||
}
|
||||
}
|
||||
|
||||
pub(crate) fn link(
|
||||
cgcx: &CodegenContext<LlvmCodegenBackend>,
|
||||
diag_handler: &Handler,
|
||||
mut modules: Vec<ModuleCodegen<ModuleLlvm>>,
|
||||
) -> Result<ModuleCodegen<ModuleLlvm>, FatalError> {
|
||||
use super::lto::{Linker, ModuleBuffer};
|
||||
// Sort the modules by name to ensure to ensure deterministic behavior.
|
||||
modules.sort_by(|a, b| a.name.cmp(&b.name));
|
||||
let (first, elements) =
|
||||
modules.split_first().expect("Bug! modules must contain at least one module.");
|
||||
|
||||
let mut linker = Linker::new(first.module_llvm.llmod());
|
||||
for module in elements {
|
||||
let _timer =
|
||||
cgcx.prof.generic_activity_with_arg("LLVM_link_module", format!("{:?}", module.name));
|
||||
let buffer = ModuleBuffer::new(module.module_llvm.llmod());
|
||||
linker.add(&buffer.data()).map_err(|()| {
|
||||
let msg = format!("failed to serialize module {:?}", module.name);
|
||||
llvm_err(&diag_handler, &msg)
|
||||
})?;
|
||||
}
|
||||
drop(linker);
|
||||
Ok(modules.remove(0))
|
||||
}
|
||||
|
||||
pub(crate) unsafe fn codegen(
|
||||
cgcx: &CodegenContext<LlvmCodegenBackend>,
|
||||
diag_handler: &Handler,
|
||||
|
|
|
@ -130,6 +130,13 @@ impl WriteBackendMethods for LlvmCodegenBackend {
|
|||
llvm::LLVMRustPrintPassTimings();
|
||||
}
|
||||
}
|
||||
fn run_link(
|
||||
cgcx: &CodegenContext<Self>,
|
||||
diag_handler: &Handler,
|
||||
modules: Vec<ModuleCodegen<Self::Module>>,
|
||||
) -> Result<ModuleCodegen<Self::Module>, FatalError> {
|
||||
back::write::link(cgcx, diag_handler, modules)
|
||||
}
|
||||
fn run_fat_lto(
|
||||
cgcx: &CodegenContext<Self>,
|
||||
modules: Vec<FatLTOInput<Self>>,
|
||||
|
|
|
@ -702,6 +702,7 @@ impl<B: WriteBackendMethods> WorkItem<B> {
|
|||
|
||||
enum WorkItemResult<B: WriteBackendMethods> {
|
||||
Compiled(CompiledModule),
|
||||
NeedsLink(ModuleCodegen<B::Module>),
|
||||
NeedsFatLTO(FatLTOInput<B>),
|
||||
NeedsThinLTO(String, B::ThinBuffer),
|
||||
}
|
||||
|
@ -801,11 +802,8 @@ fn execute_optimize_work_item<B: ExtraBackendMethods>(
|
|||
None
|
||||
};
|
||||
|
||||
Ok(match lto_type {
|
||||
ComputedLtoType::No => {
|
||||
let module = unsafe { B::codegen(cgcx, &diag_handler, module, module_config)? };
|
||||
WorkItemResult::Compiled(module)
|
||||
}
|
||||
match lto_type {
|
||||
ComputedLtoType::No => finish_intra_module_work(cgcx, module, module_config),
|
||||
ComputedLtoType::Thin => {
|
||||
let (name, thin_buffer) = B::prepare_thin(module);
|
||||
if let Some(path) = bitcode {
|
||||
|
@ -813,7 +811,7 @@ fn execute_optimize_work_item<B: ExtraBackendMethods>(
|
|||
panic!("Error writing pre-lto-bitcode file `{}`: {}", path.display(), e);
|
||||
});
|
||||
}
|
||||
WorkItemResult::NeedsThinLTO(name, thin_buffer)
|
||||
Ok(WorkItemResult::NeedsThinLTO(name, thin_buffer))
|
||||
}
|
||||
ComputedLtoType::Fat => match bitcode {
|
||||
Some(path) => {
|
||||
|
@ -821,11 +819,11 @@ fn execute_optimize_work_item<B: ExtraBackendMethods>(
|
|||
fs::write(&path, buffer.data()).unwrap_or_else(|e| {
|
||||
panic!("Error writing pre-lto-bitcode file `{}`: {}", path.display(), e);
|
||||
});
|
||||
WorkItemResult::NeedsFatLTO(FatLTOInput::Serialized { name, buffer })
|
||||
Ok(WorkItemResult::NeedsFatLTO(FatLTOInput::Serialized { name, buffer }))
|
||||
}
|
||||
None => WorkItemResult::NeedsFatLTO(FatLTOInput::InMemory(module)),
|
||||
None => Ok(WorkItemResult::NeedsFatLTO(FatLTOInput::InMemory(module))),
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
fn execute_copy_from_cache_work_item<B: ExtraBackendMethods>(
|
||||
|
@ -870,13 +868,26 @@ fn execute_lto_work_item<B: ExtraBackendMethods>(
|
|||
cgcx: &CodegenContext<B>,
|
||||
mut module: lto::LtoModuleCodegen<B>,
|
||||
module_config: &ModuleConfig,
|
||||
) -> Result<WorkItemResult<B>, FatalError> {
|
||||
let module = unsafe { module.optimize(cgcx)? };
|
||||
finish_intra_module_work(cgcx, module, module_config)
|
||||
}
|
||||
|
||||
fn finish_intra_module_work<B: ExtraBackendMethods>(
|
||||
cgcx: &CodegenContext<B>,
|
||||
module: ModuleCodegen<B::Module>,
|
||||
module_config: &ModuleConfig,
|
||||
) -> Result<WorkItemResult<B>, FatalError> {
|
||||
let diag_handler = cgcx.create_diag_handler();
|
||||
|
||||
unsafe {
|
||||
let module = module.optimize(cgcx)?;
|
||||
let module = B::codegen(cgcx, &diag_handler, module, module_config)?;
|
||||
if !cgcx.opts.debugging_opts.combine_cgu
|
||||
|| module.kind == ModuleKind::Metadata
|
||||
|| module.kind == ModuleKind::Allocator
|
||||
{
|
||||
let module = unsafe { B::codegen(cgcx, &diag_handler, module, module_config)? };
|
||||
Ok(WorkItemResult::Compiled(module))
|
||||
} else {
|
||||
Ok(WorkItemResult::NeedsLink(module))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -891,6 +902,10 @@ pub enum Message<B: WriteBackendMethods> {
|
|||
thin_buffer: B::ThinBuffer,
|
||||
worker_id: usize,
|
||||
},
|
||||
NeedsLink {
|
||||
module: ModuleCodegen<B::Module>,
|
||||
worker_id: usize,
|
||||
},
|
||||
Done {
|
||||
result: Result<CompiledModule, Option<WorkerFatalError>>,
|
||||
worker_id: usize,
|
||||
|
@ -1178,6 +1193,7 @@ fn start_executing_work<B: ExtraBackendMethods>(
|
|||
let mut compiled_modules = vec![];
|
||||
let mut compiled_metadata_module = None;
|
||||
let mut compiled_allocator_module = None;
|
||||
let mut needs_link = Vec::new();
|
||||
let mut needs_fat_lto = Vec::new();
|
||||
let mut needs_thin_lto = Vec::new();
|
||||
let mut lto_import_only_modules = Vec::new();
|
||||
|
@ -1434,6 +1450,10 @@ fn start_executing_work<B: ExtraBackendMethods>(
|
|||
}
|
||||
}
|
||||
}
|
||||
Message::NeedsLink { module, worker_id } => {
|
||||
free_worker(worker_id);
|
||||
needs_link.push(module);
|
||||
}
|
||||
Message::NeedsFatLTO { result, worker_id } => {
|
||||
assert!(!started_lto);
|
||||
free_worker(worker_id);
|
||||
|
@ -1462,6 +1482,18 @@ fn start_executing_work<B: ExtraBackendMethods>(
|
|||
}
|
||||
}
|
||||
|
||||
let needs_link = mem::take(&mut needs_link);
|
||||
if !needs_link.is_empty() {
|
||||
assert!(compiled_modules.is_empty());
|
||||
let diag_handler = cgcx.create_diag_handler();
|
||||
let module = B::run_link(&cgcx, &diag_handler, needs_link).map_err(|_| ())?;
|
||||
let module = unsafe {
|
||||
B::codegen(&cgcx, &diag_handler, module, cgcx.config(ModuleKind::Regular))
|
||||
.map_err(|_| ())?
|
||||
};
|
||||
compiled_modules.push(module);
|
||||
}
|
||||
|
||||
// Drop to print timings
|
||||
drop(llvm_start_time);
|
||||
|
||||
|
@ -1521,6 +1553,9 @@ fn spawn_work<B: ExtraBackendMethods>(cgcx: CodegenContext<B>, work: WorkItem<B>
|
|||
Some(Ok(WorkItemResult::Compiled(m))) => {
|
||||
Message::Done::<B> { result: Ok(m), worker_id }
|
||||
}
|
||||
Some(Ok(WorkItemResult::NeedsLink(m))) => {
|
||||
Message::NeedsLink::<B> { module: m, worker_id }
|
||||
}
|
||||
Some(Ok(WorkItemResult::NeedsFatLTO(m))) => {
|
||||
Message::NeedsFatLTO::<B> { result: m, worker_id }
|
||||
}
|
||||
|
|
|
@ -13,6 +13,12 @@ pub trait WriteBackendMethods: 'static + Sized + Clone {
|
|||
type ThinData: Send + Sync;
|
||||
type ThinBuffer: ThinBufferMethods;
|
||||
|
||||
/// Merge all modules into main_module and returning it
|
||||
fn run_link(
|
||||
cgcx: &CodegenContext<Self>,
|
||||
diag_handler: &Handler,
|
||||
modules: Vec<ModuleCodegen<Self::Module>>,
|
||||
) -> Result<ModuleCodegen<Self::Module>, FatalError>;
|
||||
/// Performs fat LTO by merging all modules into a single one and returning it
|
||||
/// for further optimization.
|
||||
fn run_fat_lto(
|
||||
|
|
|
@ -12,7 +12,7 @@ pub struct MaybeTempDir {
|
|||
|
||||
impl Drop for MaybeTempDir {
|
||||
fn drop(&mut self) {
|
||||
// Safety: We are in the destructor, and no further access will
|
||||
// SAFETY: We are in the destructor, and no further access will
|
||||
// occur.
|
||||
let dir = unsafe { ManuallyDrop::take(&mut self.dir) };
|
||||
if self.keep {
|
||||
|
|
|
@ -1,17 +1,27 @@
|
|||
An undeclared type or module was used.
|
||||
An undeclared crate, module, or type was used.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0433
|
||||
let map = HashMap::new();
|
||||
// error: failed to resolve: use of undeclared type or module `HashMap`
|
||||
// error: failed to resolve: use of undeclared type `HashMap`
|
||||
```
|
||||
|
||||
Please verify you didn't misspell the type/module's name or that you didn't
|
||||
forget to import it:
|
||||
|
||||
|
||||
```
|
||||
use std::collections::HashMap; // HashMap has been imported.
|
||||
let map: HashMap<u32, u32> = HashMap::new(); // So it can be used!
|
||||
```
|
||||
|
||||
If you've expected to use a crate name:
|
||||
|
||||
```compile_fail
|
||||
use ferris_wheel::BigO;
|
||||
// error: failed to resolve: use of undeclared crate or module `ferris_wheel`
|
||||
```
|
||||
|
||||
Make sure the crate has been added as a dependency in `Cargo.toml`.
|
||||
|
||||
To use a module from your current crate, add the `crate::` prefix to the path.
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
#![deny(unused_must_use)]
|
||||
use quote::format_ident;
|
||||
use quote::quote;
|
||||
|
||||
use proc_macro::Diagnostic;
|
||||
use quote::{format_ident, quote};
|
||||
use syn::spanned::Spanned;
|
||||
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::collections::{BTreeSet, HashMap};
|
||||
|
||||
/// Implements #[derive(SessionDiagnostic)], which allows for errors to be specified as a struct, independent
|
||||
/// from the actual diagnostics emitting code.
|
||||
|
@ -577,7 +575,10 @@ impl<'a> SessionDiagnosticDeriveBuilder<'a> {
|
|||
/// ```
|
||||
/// This function builds the entire call to format!.
|
||||
fn build_format(&self, input: &String, span: proc_macro2::Span) -> proc_macro2::TokenStream {
|
||||
let mut referenced_fields: HashSet<String> = HashSet::new();
|
||||
// This set is used later to generate the final format string. To keep builds reproducible,
|
||||
// the iteration order needs to be deterministic, hence why we use a BTreeSet here instead
|
||||
// of a HashSet.
|
||||
let mut referenced_fields: BTreeSet<String> = BTreeSet::new();
|
||||
|
||||
// At this point, we can start parsing the format string.
|
||||
let mut it = input.chars().peekable();
|
||||
|
|
|
@ -1150,8 +1150,6 @@ pub enum NonUseContext {
|
|||
StorageDead,
|
||||
/// User type annotation assertions for NLL.
|
||||
AscribeUserTy,
|
||||
/// Coverage code region and counter metadata.
|
||||
Coverage,
|
||||
/// The data of an user variable, for debug info.
|
||||
VarDebugInfo,
|
||||
}
|
||||
|
|
|
@ -72,8 +72,7 @@ pub fn categorize(context: PlaceContext) -> Option<DefUse> {
|
|||
PlaceContext::MutatingUse(MutatingUseContext::Drop) =>
|
||||
Some(DefUse::Drop),
|
||||
|
||||
// Coverage and debug info are neither def nor use.
|
||||
PlaceContext::NonUse(NonUseContext::Coverage) |
|
||||
// Debug info is neither def nor use.
|
||||
PlaceContext::NonUse(NonUseContext::VarDebugInfo) => None,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,7 +97,6 @@ where
|
|||
PlaceContext::NonUse(
|
||||
NonUseContext::StorageLive
|
||||
| NonUseContext::AscribeUserTy
|
||||
| NonUseContext::Coverage
|
||||
| NonUseContext::VarDebugInfo,
|
||||
)
|
||||
| PlaceContext::NonMutatingUse(
|
||||
|
|
|
@ -309,7 +309,7 @@ impl<'a, 'tcx> Instrumentor<'a, 'tcx> {
|
|||
for coverage_region in coverage_regions {
|
||||
span_viewables.push(SpanViewable {
|
||||
span: coverage_region.span,
|
||||
title: format!("{}", coverage_region.blocks[0].index()),
|
||||
id: format!("{}", coverage_region.blocks[0].index()),
|
||||
tooltip: self.make_tooltip_text(coverage_region),
|
||||
});
|
||||
}
|
||||
|
|
|
@ -3,13 +3,16 @@ use rustc_middle::hir;
|
|||
use rustc_middle::mir::*;
|
||||
use rustc_middle::ty::TyCtxt;
|
||||
use rustc_session::config::MirSpanview;
|
||||
use rustc_span::{BytePos, Pos, Span};
|
||||
use rustc_span::{BytePos, Pos, Span, SyntaxContext};
|
||||
|
||||
use std::cmp;
|
||||
use std::io::{self, Write};
|
||||
use std::iter::Peekable;
|
||||
|
||||
pub const TOOLTIP_INDENT: &str = " ";
|
||||
|
||||
const CARET: char = '\u{2038}'; // Unicode `CARET`
|
||||
const ANNOTATION_LEFT_BRACKET: char = '\u{298a}'; // Unicode `Z NOTATION RIGHT BINDING BRACKET
|
||||
const ANNOTATION_RIGHT_BRACKET: char = '\u{2989}'; // Unicode `Z NOTATION LEFT BINDING BRACKET`
|
||||
const NEW_LINE_SPAN: &str = "</span>\n<span class=\"line\">";
|
||||
const HEADER: &str = r#"<!DOCTYPE html>
|
||||
<html>
|
||||
|
@ -80,7 +83,7 @@ const FOOTER: &str = r#"
|
|||
/// Metadata to highlight the span of a MIR BasicBlock, Statement, or Terminator.
|
||||
pub struct SpanViewable {
|
||||
pub span: Span,
|
||||
pub title: String,
|
||||
pub id: String,
|
||||
pub tooltip: String,
|
||||
}
|
||||
|
||||
|
@ -139,16 +142,22 @@ where
|
|||
W: Write,
|
||||
{
|
||||
let fn_span = fn_span(tcx, def_id);
|
||||
writeln!(w, "{}", HEADER)?;
|
||||
let mut next_pos = fn_span.lo();
|
||||
let mut from_pos = fn_span.lo();
|
||||
let end_pos = fn_span.hi();
|
||||
let source_map = tcx.sess.source_map();
|
||||
let start = source_map.lookup_char_pos(next_pos);
|
||||
let start = source_map.lookup_char_pos(from_pos);
|
||||
let indent_to_initial_start_col = " ".repeat(start.col.to_usize());
|
||||
debug!(
|
||||
"fn_span source is:\n{}{}",
|
||||
indent_to_initial_start_col,
|
||||
source_map.span_to_snippet(fn_span).expect("function should have printable source")
|
||||
);
|
||||
writeln!(w, "{}", HEADER)?;
|
||||
write!(
|
||||
w,
|
||||
r#"<div class="code" style="counter-reset: line {}"><span class="line">{}"#,
|
||||
start.line - 1,
|
||||
" ".repeat(start.col.to_usize())
|
||||
indent_to_initial_start_col,
|
||||
)?;
|
||||
span_viewables.sort_unstable_by(|a, b| {
|
||||
let a = a.span;
|
||||
|
@ -163,14 +172,43 @@ where
|
|||
}
|
||||
.unwrap()
|
||||
});
|
||||
let mut ordered_span_viewables = span_viewables.iter().peekable();
|
||||
let mut ordered_viewables = &span_viewables[..];
|
||||
const LOWEST_VIEWABLE_LAYER: usize = 1;
|
||||
let mut alt = false;
|
||||
while ordered_span_viewables.peek().is_some() {
|
||||
next_pos = write_span_viewables(tcx, next_pos, &mut ordered_span_viewables, false, 1, w)?;
|
||||
alt = !alt;
|
||||
while ordered_viewables.len() > 0 {
|
||||
debug!(
|
||||
"calling write_next_viewable with from_pos={}, end_pos={}, and viewables len={}",
|
||||
from_pos.to_usize(),
|
||||
end_pos.to_usize(),
|
||||
ordered_viewables.len()
|
||||
);
|
||||
let (next_from_pos, next_ordered_viewables) = write_next_viewable_with_overlaps(
|
||||
tcx,
|
||||
from_pos,
|
||||
end_pos,
|
||||
ordered_viewables,
|
||||
alt,
|
||||
LOWEST_VIEWABLE_LAYER,
|
||||
w,
|
||||
)?;
|
||||
debug!(
|
||||
"DONE calling write_next_viewable, with new from_pos={}, \
|
||||
and remaining viewables len={}",
|
||||
next_from_pos.to_usize(),
|
||||
next_ordered_viewables.len()
|
||||
);
|
||||
assert!(
|
||||
from_pos != next_from_pos || ordered_viewables.len() != next_ordered_viewables.len(),
|
||||
"write_next_viewable_with_overlaps() must make a state change"
|
||||
);
|
||||
from_pos = next_from_pos;
|
||||
if next_ordered_viewables.len() != ordered_viewables.len() {
|
||||
ordered_viewables = next_ordered_viewables;
|
||||
alt = !alt;
|
||||
}
|
||||
}
|
||||
if next_pos < end_pos {
|
||||
write_coverage_gap(tcx, next_pos, end_pos, w)?;
|
||||
if from_pos < end_pos {
|
||||
write_coverage_gap(tcx, from_pos, end_pos, w)?;
|
||||
}
|
||||
write!(w, r#"</span></div>"#)?;
|
||||
writeln!(w, "{}", FOOTER)?;
|
||||
|
@ -233,9 +271,9 @@ fn statement_span_viewable<'tcx>(
|
|||
if !body_span.contains(span) {
|
||||
return None;
|
||||
}
|
||||
let title = format!("bb{}[{}]", bb.index(), i);
|
||||
let tooltip = tooltip(tcx, &title, span, vec![statement.clone()], &None);
|
||||
Some(SpanViewable { span, title, tooltip })
|
||||
let id = format!("{}[{}]", bb.index(), i);
|
||||
let tooltip = tooltip(tcx, &id, span, vec![statement.clone()], &None);
|
||||
Some(SpanViewable { span, id, tooltip })
|
||||
}
|
||||
|
||||
fn terminator_span_viewable<'tcx>(
|
||||
|
@ -249,9 +287,9 @@ fn terminator_span_viewable<'tcx>(
|
|||
if !body_span.contains(span) {
|
||||
return None;
|
||||
}
|
||||
let title = format!("bb{}`{}`", bb.index(), terminator_kind_name(term));
|
||||
let tooltip = tooltip(tcx, &title, span, vec![], &data.terminator);
|
||||
Some(SpanViewable { span, title, tooltip })
|
||||
let id = format!("{}:{}", bb.index(), terminator_kind_name(term));
|
||||
let tooltip = tooltip(tcx, &id, span, vec![], &data.terminator);
|
||||
Some(SpanViewable { span, id, tooltip })
|
||||
}
|
||||
|
||||
fn block_span_viewable<'tcx>(
|
||||
|
@ -264,16 +302,16 @@ fn block_span_viewable<'tcx>(
|
|||
if !body_span.contains(span) {
|
||||
return None;
|
||||
}
|
||||
let title = format!("bb{}", bb.index());
|
||||
let tooltip = tooltip(tcx, &title, span, data.statements.clone(), &data.terminator);
|
||||
Some(SpanViewable { span, title, tooltip })
|
||||
let id = format!("{}", bb.index());
|
||||
let tooltip = tooltip(tcx, &id, span, data.statements.clone(), &data.terminator);
|
||||
Some(SpanViewable { span, id, tooltip })
|
||||
}
|
||||
|
||||
fn compute_block_span<'tcx>(data: &BasicBlockData<'tcx>, body_span: Span) -> Span {
|
||||
let mut span = data.terminator().source_info.span;
|
||||
for statement_span in data.statements.iter().map(|statement| statement.source_info.span) {
|
||||
// Only combine Spans from the function's body_span.
|
||||
if body_span.contains(statement_span) {
|
||||
// Only combine Spans from the root context, and within the function's body_span.
|
||||
if statement_span.ctxt() == SyntaxContext::root() && body_span.contains(statement_span) {
|
||||
span = span.to(statement_span);
|
||||
}
|
||||
}
|
||||
|
@ -286,100 +324,217 @@ fn compute_block_span<'tcx>(data: &BasicBlockData<'tcx>, body_span: Span) -> Spa
|
|||
/// The `layer` is incremented for each overlap, and the `alt` bool alternates between true
|
||||
/// and false, for each adjacent non-overlapping span. Source code between the spans (code
|
||||
/// that is not in any coverage region) has neutral styling.
|
||||
fn write_span_viewables<'tcx, 'b, W>(
|
||||
fn write_next_viewable_with_overlaps<'tcx, 'b, W>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
next_pos: BytePos,
|
||||
ordered_span_viewables: &mut Peekable<impl Iterator<Item = &'b SpanViewable>>,
|
||||
mut from_pos: BytePos,
|
||||
mut to_pos: BytePos,
|
||||
ordered_viewables: &'b [SpanViewable],
|
||||
alt: bool,
|
||||
layer: usize,
|
||||
w: &mut W,
|
||||
) -> io::Result<BytePos>
|
||||
) -> io::Result<(BytePos, &'b [SpanViewable])>
|
||||
where
|
||||
W: Write,
|
||||
{
|
||||
let span_viewable =
|
||||
ordered_span_viewables.next().expect("ordered_span_viewables should have some");
|
||||
if next_pos < span_viewable.span.lo() {
|
||||
write_coverage_gap(tcx, next_pos, span_viewable.span.lo(), w)?;
|
||||
}
|
||||
let mut remaining_span = span_viewable.span;
|
||||
let mut subalt = false;
|
||||
loop {
|
||||
let next_span_viewable = match ordered_span_viewables.peek() {
|
||||
None => break,
|
||||
Some(span_viewable) => *span_viewable,
|
||||
};
|
||||
if !next_span_viewable.span.overlaps(remaining_span) {
|
||||
break;
|
||||
let debug_indent = " ".repeat(layer);
|
||||
let (viewable, mut remaining_viewables) =
|
||||
ordered_viewables.split_first().expect("ordered_viewables should have some");
|
||||
|
||||
if from_pos < viewable.span.lo() {
|
||||
debug!(
|
||||
"{}advance from_pos to next SpanViewable (from from_pos={} to viewable.span.lo()={} \
|
||||
of {:?}), with to_pos={}",
|
||||
debug_indent,
|
||||
from_pos.to_usize(),
|
||||
viewable.span.lo().to_usize(),
|
||||
viewable.span,
|
||||
to_pos.to_usize()
|
||||
);
|
||||
let hi = cmp::min(viewable.span.lo(), to_pos);
|
||||
write_coverage_gap(tcx, from_pos, hi, w)?;
|
||||
from_pos = hi;
|
||||
if from_pos < viewable.span.lo() {
|
||||
debug!(
|
||||
"{}EARLY RETURN: stopped before getting to next SpanViewable, at {}",
|
||||
debug_indent,
|
||||
from_pos.to_usize()
|
||||
);
|
||||
return Ok((from_pos, ordered_viewables));
|
||||
}
|
||||
write_span(
|
||||
}
|
||||
|
||||
if from_pos < viewable.span.hi() {
|
||||
// Set to_pos to the end of this `viewable` to ensure the recursive calls stop writing
|
||||
// with room to print the tail.
|
||||
to_pos = cmp::min(viewable.span.hi(), to_pos);
|
||||
debug!(
|
||||
"{}update to_pos (if not closer) to viewable.span.hi()={}; to_pos is now {}",
|
||||
debug_indent,
|
||||
viewable.span.hi().to_usize(),
|
||||
to_pos.to_usize()
|
||||
);
|
||||
}
|
||||
|
||||
let mut subalt = false;
|
||||
while remaining_viewables.len() > 0 && remaining_viewables[0].span.overlaps(viewable.span) {
|
||||
let overlapping_viewable = &remaining_viewables[0];
|
||||
debug!("{}overlapping_viewable.span={:?}", debug_indent, overlapping_viewable.span);
|
||||
|
||||
let span =
|
||||
trim_span(viewable.span, from_pos, cmp::min(overlapping_viewable.span.lo(), to_pos));
|
||||
let mut some_html_snippet = if from_pos <= viewable.span.hi() || viewable.span.is_empty() {
|
||||
// `viewable` is not yet fully rendered, so start writing the span, up to either the
|
||||
// `to_pos` or the next `overlapping_viewable`, whichever comes first.
|
||||
debug!(
|
||||
"{}make html_snippet (may not write it if early exit) for partial span {:?} \
|
||||
of viewable.span {:?}",
|
||||
debug_indent, span, viewable.span
|
||||
);
|
||||
from_pos = span.hi();
|
||||
make_html_snippet(tcx, span, Some(&viewable))
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
// Defer writing the HTML snippet (until after early return checks) ONLY for empty spans.
|
||||
// An empty Span with Some(html_snippet) is probably a tail marker. If there is an early
|
||||
// exit, there should be another opportunity to write the tail marker.
|
||||
if !span.is_empty() {
|
||||
if let Some(ref html_snippet) = some_html_snippet {
|
||||
debug!(
|
||||
"{}write html_snippet for that partial span of viewable.span {:?}",
|
||||
debug_indent, viewable.span
|
||||
);
|
||||
write_span(html_snippet, &viewable.tooltip, alt, layer, w)?;
|
||||
}
|
||||
some_html_snippet = None;
|
||||
}
|
||||
|
||||
if from_pos < overlapping_viewable.span.lo() {
|
||||
debug!(
|
||||
"{}EARLY RETURN: from_pos={} has not yet reached the \
|
||||
overlapping_viewable.span {:?}",
|
||||
debug_indent,
|
||||
from_pos.to_usize(),
|
||||
overlapping_viewable.span
|
||||
);
|
||||
// must have reached `to_pos` before reaching the start of the
|
||||
// `overlapping_viewable.span`
|
||||
return Ok((from_pos, ordered_viewables));
|
||||
}
|
||||
|
||||
if from_pos == to_pos
|
||||
&& !(from_pos == overlapping_viewable.span.lo() && overlapping_viewable.span.is_empty())
|
||||
{
|
||||
debug!(
|
||||
"{}EARLY RETURN: from_pos=to_pos={} and overlapping_viewable.span {:?} is not \
|
||||
empty, or not from_pos",
|
||||
debug_indent,
|
||||
to_pos.to_usize(),
|
||||
overlapping_viewable.span
|
||||
);
|
||||
// `to_pos` must have occurred before the overlapping viewable. Return
|
||||
// `ordered_viewables` so we can continue rendering the `viewable`, from after the
|
||||
// `to_pos`.
|
||||
return Ok((from_pos, ordered_viewables));
|
||||
}
|
||||
|
||||
if let Some(ref html_snippet) = some_html_snippet {
|
||||
debug!(
|
||||
"{}write html_snippet for that partial span of viewable.span {:?}",
|
||||
debug_indent, viewable.span
|
||||
);
|
||||
write_span(html_snippet, &viewable.tooltip, alt, layer, w)?;
|
||||
}
|
||||
|
||||
debug!(
|
||||
"{}recursively calling write_next_viewable with from_pos={}, to_pos={}, \
|
||||
and viewables len={}",
|
||||
debug_indent,
|
||||
from_pos.to_usize(),
|
||||
to_pos.to_usize(),
|
||||
remaining_viewables.len()
|
||||
);
|
||||
// Write the overlaps (and the overlaps' overlaps, if any) up to `to_pos`.
|
||||
let (next_from_pos, next_remaining_viewables) = write_next_viewable_with_overlaps(
|
||||
tcx,
|
||||
remaining_span.until(next_span_viewable.span),
|
||||
Some(span_viewable),
|
||||
alt,
|
||||
layer,
|
||||
w,
|
||||
)?;
|
||||
let next_pos = write_span_viewables(
|
||||
tcx,
|
||||
next_span_viewable.span.lo(),
|
||||
ordered_span_viewables,
|
||||
from_pos,
|
||||
to_pos,
|
||||
&remaining_viewables,
|
||||
subalt,
|
||||
layer + 1,
|
||||
w,
|
||||
)?;
|
||||
subalt = !subalt;
|
||||
if next_pos < remaining_span.hi() {
|
||||
remaining_span = remaining_span.with_lo(next_pos);
|
||||
} else {
|
||||
return Ok(next_pos);
|
||||
debug!(
|
||||
"{}DONE recursively calling write_next_viewable, with new from_pos={}, and remaining \
|
||||
viewables len={}",
|
||||
debug_indent,
|
||||
next_from_pos.to_usize(),
|
||||
next_remaining_viewables.len()
|
||||
);
|
||||
assert!(
|
||||
from_pos != next_from_pos
|
||||
|| remaining_viewables.len() != next_remaining_viewables.len(),
|
||||
"write_next_viewable_with_overlaps() must make a state change"
|
||||
);
|
||||
from_pos = next_from_pos;
|
||||
if next_remaining_viewables.len() != remaining_viewables.len() {
|
||||
remaining_viewables = next_remaining_viewables;
|
||||
subalt = !subalt;
|
||||
}
|
||||
}
|
||||
write_span(tcx, remaining_span, Some(span_viewable), alt, layer, w)
|
||||
if from_pos <= viewable.span.hi() {
|
||||
let span = trim_span(viewable.span, from_pos, to_pos);
|
||||
debug!(
|
||||
"{}After overlaps, writing (end span?) {:?} of viewable.span {:?}",
|
||||
debug_indent, span, viewable.span
|
||||
);
|
||||
if let Some(ref html_snippet) = make_html_snippet(tcx, span, Some(&viewable)) {
|
||||
from_pos = span.hi();
|
||||
write_span(html_snippet, &viewable.tooltip, alt, layer, w)?;
|
||||
}
|
||||
}
|
||||
debug!("{}RETURN: No more overlap", debug_indent);
|
||||
Ok((
|
||||
from_pos,
|
||||
if from_pos < viewable.span.hi() { ordered_viewables } else { remaining_viewables },
|
||||
))
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn write_coverage_gap<'tcx, W>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
lo: BytePos,
|
||||
hi: BytePos,
|
||||
w: &mut W,
|
||||
) -> io::Result<BytePos>
|
||||
) -> io::Result<()>
|
||||
where
|
||||
W: Write,
|
||||
{
|
||||
write_span(tcx, Span::with_root_ctxt(lo, hi), None, false, 0, w)
|
||||
let span = Span::with_root_ctxt(lo, hi);
|
||||
if let Some(ref html_snippet) = make_html_snippet(tcx, span, None) {
|
||||
write_span(html_snippet, "", false, 0, w)
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
fn write_span<'tcx, W>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
span: Span,
|
||||
span_viewable: Option<&SpanViewable>,
|
||||
fn write_span<W>(
|
||||
html_snippet: &str,
|
||||
tooltip: &str,
|
||||
alt: bool,
|
||||
layer: usize,
|
||||
w: &mut W,
|
||||
) -> io::Result<BytePos>
|
||||
) -> io::Result<()>
|
||||
where
|
||||
W: Write,
|
||||
{
|
||||
let source_map = tcx.sess.source_map();
|
||||
let snippet = source_map
|
||||
.span_to_snippet(span)
|
||||
.unwrap_or_else(|err| bug!("span_to_snippet error for span {:?}: {:?}", span, err));
|
||||
let labeled_snippet = if let Some(SpanViewable { title, .. }) = span_viewable {
|
||||
if span.is_empty() {
|
||||
format!(r#"<span class="annotation">@{}</span>"#, title)
|
||||
} else {
|
||||
format!(r#"<span class="annotation">@{}:</span> {}"#, title, escape_html(&snippet))
|
||||
}
|
||||
} else {
|
||||
snippet
|
||||
};
|
||||
let maybe_alt = if layer > 0 {
|
||||
let maybe_alt_class = if layer > 0 {
|
||||
if alt { " odd" } else { " even" }
|
||||
} else {
|
||||
""
|
||||
};
|
||||
let maybe_tooltip = if let Some(SpanViewable { tooltip, .. }) = span_viewable {
|
||||
let maybe_title_attr = if !tooltip.is_empty() {
|
||||
format!(" title=\"{}\"", escape_attr(tooltip))
|
||||
} else {
|
||||
"".to_owned()
|
||||
|
@ -387,32 +542,73 @@ where
|
|||
if layer == 1 {
|
||||
write!(w, "<span>")?;
|
||||
}
|
||||
for (i, line) in labeled_snippet.lines().enumerate() {
|
||||
for (i, line) in html_snippet.lines().enumerate() {
|
||||
if i > 0 {
|
||||
write!(w, "{}", NEW_LINE_SPAN)?;
|
||||
}
|
||||
write!(
|
||||
w,
|
||||
r#"<span class="code{}" style="--layer: {}"{}>{}</span>"#,
|
||||
maybe_alt, layer, maybe_tooltip, line
|
||||
maybe_alt_class, layer, maybe_title_attr, line
|
||||
)?;
|
||||
}
|
||||
// Check for and translate trailing newlines, because `str::lines()` ignores them
|
||||
if html_snippet.ends_with('\n') {
|
||||
write!(w, "{}", NEW_LINE_SPAN)?;
|
||||
}
|
||||
if layer == 1 {
|
||||
write!(w, "</span>")?;
|
||||
}
|
||||
Ok(span.hi())
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn make_html_snippet<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
span: Span,
|
||||
some_viewable: Option<&SpanViewable>,
|
||||
) -> Option<String> {
|
||||
let source_map = tcx.sess.source_map();
|
||||
let snippet = source_map
|
||||
.span_to_snippet(span)
|
||||
.unwrap_or_else(|err| bug!("span_to_snippet error for span {:?}: {:?}", span, err));
|
||||
let html_snippet = if let Some(viewable) = some_viewable {
|
||||
let is_head = span.lo() == viewable.span.lo();
|
||||
let is_tail = span.hi() == viewable.span.hi();
|
||||
let mut labeled_snippet = if is_head {
|
||||
format!(r#"<span class="annotation">{}{}</span>"#, viewable.id, ANNOTATION_LEFT_BRACKET)
|
||||
} else {
|
||||
"".to_owned()
|
||||
};
|
||||
if span.is_empty() {
|
||||
if is_head && is_tail {
|
||||
labeled_snippet.push(CARET);
|
||||
}
|
||||
} else {
|
||||
labeled_snippet.push_str(&escape_html(&snippet));
|
||||
};
|
||||
if is_tail {
|
||||
labeled_snippet.push_str(&format!(
|
||||
r#"<span class="annotation">{}{}</span>"#,
|
||||
ANNOTATION_RIGHT_BRACKET, viewable.id
|
||||
));
|
||||
}
|
||||
labeled_snippet
|
||||
} else {
|
||||
escape_html(&snippet)
|
||||
};
|
||||
if html_snippet.is_empty() { None } else { Some(html_snippet) }
|
||||
}
|
||||
|
||||
fn tooltip<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
title: &str,
|
||||
spanview_id: &str,
|
||||
span: Span,
|
||||
statements: Vec<Statement<'tcx>>,
|
||||
terminator: &Option<Terminator<'tcx>>,
|
||||
) -> String {
|
||||
let source_map = tcx.sess.source_map();
|
||||
let mut text = Vec::new();
|
||||
text.push(format!("{}: {}:", title, &source_map.span_to_string(span)));
|
||||
text.push(format!("{}: {}:", spanview_id, &source_map.span_to_string(span)));
|
||||
for statement in statements {
|
||||
let source_range = source_range_no_file(tcx, &statement.source_info.span);
|
||||
text.push(format!(
|
||||
|
@ -436,10 +632,25 @@ fn tooltip<'tcx>(
|
|||
text.join("")
|
||||
}
|
||||
|
||||
fn trim_span(span: Span, from_pos: BytePos, to_pos: BytePos) -> Span {
|
||||
trim_span_hi(trim_span_lo(span, from_pos), to_pos)
|
||||
}
|
||||
|
||||
fn trim_span_lo(span: Span, from_pos: BytePos) -> Span {
|
||||
if from_pos <= span.lo() { span } else { span.with_lo(cmp::min(span.hi(), from_pos)) }
|
||||
}
|
||||
|
||||
fn trim_span_hi(span: Span, to_pos: BytePos) -> Span {
|
||||
if to_pos >= span.hi() { span } else { span.with_hi(cmp::max(span.lo(), to_pos)) }
|
||||
}
|
||||
|
||||
fn fn_span<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> Span {
|
||||
let hir_id =
|
||||
tcx.hir().local_def_id_to_hir_id(def_id.as_local().expect("expected DefId is local"));
|
||||
tcx.hir().span(hir_id)
|
||||
let fn_decl_span = tcx.hir().span(hir_id);
|
||||
let body_span = hir_body(tcx, def_id).value.span;
|
||||
debug_assert_eq!(fn_decl_span.ctxt(), body_span.ctxt());
|
||||
fn_decl_span.to(body_span)
|
||||
}
|
||||
|
||||
fn hir_body<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx rustc_hir::Body<'tcx> {
|
||||
|
|
|
@ -1387,7 +1387,7 @@ impl<'tcx> LifetimeContext<'_, 'tcx> {
|
|||
}
|
||||
}
|
||||
}
|
||||
introduce_suggestion.push((*for_span, for_sugg.to_string()));
|
||||
introduce_suggestion.push((*for_span, for_sugg));
|
||||
introduce_suggestion.push((span, formatter(<_name)));
|
||||
err.multipart_suggestion(&msg, introduce_suggestion, Applicability::MaybeIncorrect);
|
||||
}
|
||||
|
|
|
@ -2413,7 +2413,14 @@ impl<'a> Resolver<'a> {
|
|||
(format!("maybe a missing crate `{}`?", ident), None)
|
||||
}
|
||||
} else if i == 0 {
|
||||
(format!("use of undeclared type or module `{}`", ident), None)
|
||||
if ident
|
||||
.name
|
||||
.with(|n| n.chars().next().map_or(false, |c| c.is_ascii_uppercase()))
|
||||
{
|
||||
(format!("use of undeclared type `{}`", ident), None)
|
||||
} else {
|
||||
(format!("use of undeclared crate or module `{}`", ident), None)
|
||||
}
|
||||
} else {
|
||||
let mut msg =
|
||||
format!("could not find `{}` in `{}`", ident, path[i - 1].ident);
|
||||
|
|
|
@ -850,6 +850,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options,
|
|||
"enable the experimental Chalk-based trait solving engine"),
|
||||
codegen_backend: Option<String> = (None, parse_opt_string, [TRACKED],
|
||||
"the backend to use"),
|
||||
combine_cgu: bool = (false, parse_bool, [TRACKED],
|
||||
"combine CGUs into a single one"),
|
||||
crate_attr: Vec<String> = (Vec::new(), parse_string_push, [TRACKED],
|
||||
"inject the given attribute in the crate"),
|
||||
debug_macros: bool = (false, parse_bool, [TRACKED],
|
||||
|
|
|
@ -22,7 +22,7 @@ pub fn opts() -> TargetOptions {
|
|||
"-lmingw32".to_string(),
|
||||
];
|
||||
late_link_args.insert(LinkerFlavor::Gcc, mingw_libs.clone());
|
||||
late_link_args.insert(LinkerFlavor::Lld(LldFlavor::Ld), mingw_libs.clone());
|
||||
late_link_args.insert(LinkerFlavor::Lld(LldFlavor::Ld), mingw_libs);
|
||||
|
||||
TargetOptions {
|
||||
executables: false,
|
||||
|
|
|
@ -309,7 +309,9 @@
|
|||
# Number of codegen units to use for each compiler invocation. A value of 0
|
||||
# means "the number of cores on this machine", and 1+ is passed through to the
|
||||
# compiler.
|
||||
#codegen-units = 1
|
||||
#
|
||||
# Uses the rustc defaults: https://doc.rust-lang.org/rustc/codegen-options/index.html#codegen-units
|
||||
#codegen-units = if incremental { 256 } else { 16 }
|
||||
|
||||
# Sets the number of codegen units to build the standard library with,
|
||||
# regardless of what the codegen-unit setting for the rest of the compiler is.
|
||||
|
@ -392,7 +394,7 @@
|
|||
# desired in distributions, for example.
|
||||
#rpath = true
|
||||
|
||||
# Emits extra output from tests so test failures are debuggable just from logfiles.
|
||||
# Prints each test name as it is executed, to help debug issues in the test harness itself.
|
||||
#verbose-tests = false
|
||||
|
||||
# Flag indicating whether tests are compiled with optimizations (the -O flag).
|
||||
|
|
|
@ -157,7 +157,7 @@ impl Global {
|
|||
}
|
||||
}
|
||||
|
||||
// Safety: Same as `AllocRef::grow`
|
||||
// SAFETY: Same as `AllocRef::grow`
|
||||
#[inline]
|
||||
unsafe fn grow_impl(
|
||||
&mut self,
|
||||
|
|
|
@ -32,12 +32,8 @@ mod tests;
|
|||
|
||||
const INITIAL_CAPACITY: usize = 7; // 2^3 - 1
|
||||
const MINIMUM_CAPACITY: usize = 1; // 2 - 1
|
||||
#[cfg(target_pointer_width = "16")]
|
||||
const MAXIMUM_ZST_CAPACITY: usize = 1 << (16 - 1); // Largest possible power of two
|
||||
#[cfg(target_pointer_width = "32")]
|
||||
const MAXIMUM_ZST_CAPACITY: usize = 1 << (32 - 1); // Largest possible power of two
|
||||
#[cfg(target_pointer_width = "64")]
|
||||
const MAXIMUM_ZST_CAPACITY: usize = 1 << (64 - 1); // Largest possible power of two
|
||||
|
||||
const MAXIMUM_ZST_CAPACITY: usize = 1 << (core::mem::size_of::<usize>() * 8 - 1); // Largest possible power of two
|
||||
|
||||
/// A double-ended queue implemented with a growable ring buffer.
|
||||
///
|
||||
|
@ -2392,7 +2388,7 @@ impl<T> VecDeque<T> {
|
|||
}
|
||||
}
|
||||
|
||||
// Safety: the following two methods require that the rotation amount
|
||||
// SAFETY: the following two methods require that the rotation amount
|
||||
// be less than half the length of the deque.
|
||||
//
|
||||
// `wrap_copy` requires that `min(x, cap() - x) + copy_len <= cap()`,
|
||||
|
|
|
@ -71,7 +71,7 @@ where
|
|||
impl<T: Generator<ResumeTy, Yield = ()>> Future for GenFuture<T> {
|
||||
type Output = T::Return;
|
||||
fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
|
||||
// Safety: Safe because we're !Unpin + !Drop, and this is just a field projection.
|
||||
// SAFETY: Safe because we're !Unpin + !Drop, and this is just a field projection.
|
||||
let gen = unsafe { Pin::map_unchecked_mut(self, |s| &mut s.0) };
|
||||
|
||||
// Resume the generator, turning the `&mut Context` into a `NonNull` raw pointer. The
|
||||
|
|
|
@ -530,7 +530,7 @@ where
|
|||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
match self.iter {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
Some(ref mut iter) => unsafe { SourceIter::as_inner(iter) },
|
||||
// SAFETY: the specialized iterator never sets `None`
|
||||
None => unsafe { intrinsics::unreachable() },
|
||||
|
|
|
@ -1019,7 +1019,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -1168,7 +1168,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -1312,7 +1312,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -1550,7 +1550,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -1848,7 +1848,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -1967,7 +1967,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -2102,7 +2102,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -2200,7 +2200,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -2403,7 +2403,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -2530,7 +2530,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -2712,7 +2712,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
@ -2879,7 +2879,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.iter) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -343,7 +343,7 @@ where
|
|||
|
||||
#[inline]
|
||||
unsafe fn as_inner(&mut self) -> &mut S {
|
||||
// Safety: unsafe function forwarding to unsafe function with the same requirements
|
||||
// SAFETY: unsafe function forwarding to unsafe function with the same requirements
|
||||
unsafe { SourceIter::as_inner(&mut self.a) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ impl<T> OnceCell<T> {
|
|||
/// Returns `None` if the cell is empty.
|
||||
#[unstable(feature = "once_cell", issue = "74465")]
|
||||
pub fn get(&self) -> Option<&T> {
|
||||
// Safety: Safe due to `inner`'s invariant
|
||||
// SAFETY: Safe due to `inner`'s invariant
|
||||
unsafe { &*self.inner.get() }.as_ref()
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ impl<T> OnceCell<T> {
|
|||
/// Returns `None` if the cell is empty.
|
||||
#[unstable(feature = "once_cell", issue = "74465")]
|
||||
pub fn get_mut(&mut self) -> Option<&mut T> {
|
||||
// Safety: Safe because we have unique access
|
||||
// SAFETY: Safe because we have unique access
|
||||
unsafe { &mut *self.inner.get() }.as_mut()
|
||||
}
|
||||
|
||||
|
@ -129,13 +129,13 @@ impl<T> OnceCell<T> {
|
|||
/// ```
|
||||
#[unstable(feature = "once_cell", issue = "74465")]
|
||||
pub fn set(&self, value: T) -> Result<(), T> {
|
||||
// Safety: Safe because we cannot have overlapping mutable borrows
|
||||
// SAFETY: Safe because we cannot have overlapping mutable borrows
|
||||
let slot = unsafe { &*self.inner.get() };
|
||||
if slot.is_some() {
|
||||
return Err(value);
|
||||
}
|
||||
|
||||
// Safety: This is the only place where we set the slot, no races
|
||||
// SAFETY: This is the only place where we set the slot, no races
|
||||
// due to reentrancy/concurrency are possible, and we've
|
||||
// checked that slot is currently `None`, so this write
|
||||
// maintains the `inner`'s invariant.
|
||||
|
|
|
@ -599,7 +599,7 @@ impl<T> MaybeUninit<T> {
|
|||
/// // Now that our `MaybeUninit<_>` is known to be initialized, it is okay to
|
||||
/// // create a shared reference to it:
|
||||
/// let x: &Vec<u32> = unsafe {
|
||||
/// // Safety: `x` has been initialized.
|
||||
/// // SAFETY: `x` has been initialized.
|
||||
/// x.assume_init_ref()
|
||||
/// };
|
||||
/// assert_eq!(x, &vec![1, 2, 3]);
|
||||
|
@ -676,7 +676,7 @@ impl<T> MaybeUninit<T> {
|
|||
/// // To assert our buffer has been initialized without copying it, we upgrade
|
||||
/// // the `&mut MaybeUninit<[u8; 2048]>` to a `&mut [u8; 2048]`:
|
||||
/// let buf: &mut [u8; 2048] = unsafe {
|
||||
/// // Safety: `buf` has been initialized.
|
||||
/// // SAFETY: `buf` has been initialized.
|
||||
/// buf.assume_init_mut()
|
||||
/// };
|
||||
///
|
||||
|
|
|
@ -124,7 +124,7 @@ assert_eq!(size_of::<Option<core::num::", stringify!($Ty), ">>(), size_of::<", s
|
|||
type Output = Self;
|
||||
#[inline]
|
||||
fn bitor(self, rhs: Self) -> Self::Output {
|
||||
// Safety: since `self` and `rhs` are both nonzero, the
|
||||
// SAFETY: since `self` and `rhs` are both nonzero, the
|
||||
// result of the bitwise-or will be nonzero.
|
||||
unsafe { $Ty::new_unchecked(self.get() | rhs.get()) }
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ assert_eq!(size_of::<Option<core::num::", stringify!($Ty), ">>(), size_of::<", s
|
|||
type Output = Self;
|
||||
#[inline]
|
||||
fn bitor(self, rhs: $Int) -> Self::Output {
|
||||
// Safety: since `self` is nonzero, the result of the
|
||||
// SAFETY: since `self` is nonzero, the result of the
|
||||
// bitwise-or will be nonzero regardless of the value of
|
||||
// `rhs`.
|
||||
unsafe { $Ty::new_unchecked(self.get() | rhs) }
|
||||
|
@ -147,7 +147,7 @@ assert_eq!(size_of::<Option<core::num::", stringify!($Ty), ">>(), size_of::<", s
|
|||
type Output = $Ty;
|
||||
#[inline]
|
||||
fn bitor(self, rhs: $Ty) -> Self::Output {
|
||||
// Safety: since `rhs` is nonzero, the result of the
|
||||
// SAFETY: since `rhs` is nonzero, the result of the
|
||||
// bitwise-or will be nonzero regardless of the value of
|
||||
// `self`.
|
||||
unsafe { $Ty::new_unchecked(self | rhs.get()) }
|
||||
|
|
|
@ -474,7 +474,7 @@ impl<P: Deref<Target: Unpin>> Pin<P> {
|
|||
#[stable(feature = "pin", since = "1.33.0")]
|
||||
#[inline(always)]
|
||||
pub fn new(pointer: P) -> Pin<P> {
|
||||
// Safety: the value pointed to is `Unpin`, and so has no requirements
|
||||
// SAFETY: the value pointed to is `Unpin`, and so has no requirements
|
||||
// around pinning.
|
||||
unsafe { Pin::new_unchecked(pointer) }
|
||||
}
|
||||
|
|
|
@ -4,8 +4,6 @@ use crate::marker::{PhantomData, Unsize};
|
|||
use crate::mem;
|
||||
use crate::ops::{CoerceUnsized, DispatchFromDyn};
|
||||
|
||||
// ignore-tidy-undocumented-unsafe
|
||||
|
||||
/// A wrapper around a raw non-null `*mut T` that indicates that the possessor
|
||||
/// of this wrapper owns the referent. Useful for building abstractions like
|
||||
/// `Box<T>`, `Vec<T>`, `String`, and `HashMap<K, V>`.
|
||||
|
|
|
@ -3245,7 +3245,7 @@ fn is_ascii(s: &[u8]) -> bool {
|
|||
(word_ptr as usize) - (start as usize) == byte_pos
|
||||
);
|
||||
|
||||
// Safety: We know `word_ptr` is properly aligned (because of
|
||||
// SAFETY: We know `word_ptr` is properly aligned (because of
|
||||
// `align_offset`), and we know that we have enough bytes between `word_ptr` and the end
|
||||
let word = unsafe { word_ptr.read() };
|
||||
if contains_nonascii(word) {
|
||||
|
|
|
@ -149,7 +149,7 @@ impl System {
|
|||
}
|
||||
}
|
||||
|
||||
// Safety: Same as `AllocRef::grow`
|
||||
// SAFETY: Same as `AllocRef::grow`
|
||||
#[inline]
|
||||
unsafe fn grow_impl(
|
||||
&mut self,
|
||||
|
|
|
@ -881,13 +881,13 @@ impl From<Vec<NonZeroU8>> for CString {
|
|||
unsafe {
|
||||
// Transmute `Vec<NonZeroU8>` to `Vec<u8>`.
|
||||
let v: Vec<u8> = {
|
||||
// Safety:
|
||||
// SAFETY:
|
||||
// - transmuting between `NonZeroU8` and `u8` is sound;
|
||||
// - `alloc::Layout<NonZeroU8> == alloc::Layout<u8>`.
|
||||
let (ptr, len, cap): (*mut NonZeroU8, _, _) = Vec::into_raw_parts(v);
|
||||
Vec::from_raw_parts(ptr.cast::<u8>(), len, cap)
|
||||
};
|
||||
// Safety: `v` cannot contain null bytes, given the type-level
|
||||
// SAFETY: `v` cannot contain null bytes, given the type-level
|
||||
// invariant of `NonZeroU8`.
|
||||
CString::from_vec_unchecked(v)
|
||||
}
|
||||
|
|
|
@ -510,14 +510,14 @@ impl OsStr {
|
|||
|
||||
#[inline]
|
||||
fn from_inner(inner: &Slice) -> &OsStr {
|
||||
// Safety: OsStr is just a wrapper of Slice,
|
||||
// SAFETY: OsStr is just a wrapper of Slice,
|
||||
// therefore converting &Slice to &OsStr is safe.
|
||||
unsafe { &*(inner as *const Slice as *const OsStr) }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn from_inner_mut(inner: &mut Slice) -> &mut OsStr {
|
||||
// Safety: OsStr is just a wrapper of Slice,
|
||||
// SAFETY: OsStr is just a wrapper of Slice,
|
||||
// therefore converting &mut Slice to &mut OsStr is safe.
|
||||
// Any method that mutates OsStr must be careful not to
|
||||
// break platform-specific encoding, in particular Wtf8 on Windows.
|
||||
|
|
|
@ -293,7 +293,7 @@ impl<T> SyncOnceCell<T> {
|
|||
|
||||
debug_assert!(self.is_initialized());
|
||||
|
||||
// Safety: The inner value has been initialized
|
||||
// SAFETY: The inner value has been initialized
|
||||
Ok(unsafe { self.get_unchecked() })
|
||||
}
|
||||
|
||||
|
@ -316,7 +316,7 @@ impl<T> SyncOnceCell<T> {
|
|||
/// ```
|
||||
#[unstable(feature = "once_cell", issue = "74465")]
|
||||
pub fn into_inner(mut self) -> Option<T> {
|
||||
// Safety: Safe because we immediately free `self` without dropping
|
||||
// SAFETY: Safe because we immediately free `self` without dropping
|
||||
let inner = unsafe { self.take_inner() };
|
||||
|
||||
// Don't drop this `SyncOnceCell`. We just moved out one of the fields, but didn't set
|
||||
|
@ -416,7 +416,7 @@ impl<T> SyncOnceCell<T> {
|
|||
|
||||
unsafe impl<#[may_dangle] T> Drop for SyncOnceCell<T> {
|
||||
fn drop(&mut self) {
|
||||
// Safety: The cell is being dropped, so it can't be accessed again.
|
||||
// SAFETY: The cell is being dropped, so it can't be accessed again.
|
||||
// We also don't touch the `T`, which validates our usage of #[may_dangle].
|
||||
unsafe { self.take_inner() };
|
||||
}
|
||||
|
|
|
@ -77,14 +77,14 @@ impl Buf {
|
|||
}
|
||||
|
||||
pub fn as_slice(&self) -> &Slice {
|
||||
// Safety: Slice is just a wrapper for Wtf8,
|
||||
// SAFETY: Slice is just a wrapper for Wtf8,
|
||||
// and self.inner.as_slice() returns &Wtf8.
|
||||
// Therefore, transmuting &Wtf8 to &Slice is safe.
|
||||
unsafe { mem::transmute(self.inner.as_slice()) }
|
||||
}
|
||||
|
||||
pub fn as_mut_slice(&mut self) -> &mut Slice {
|
||||
// Safety: Slice is just a wrapper for Wtf8,
|
||||
// SAFETY: Slice is just a wrapper for Wtf8,
|
||||
// and self.inner.as_mut_slice() returns &mut Wtf8.
|
||||
// Therefore, transmuting &mut Wtf8 to &mut Slice is safe.
|
||||
// Additionally, care should be taken to ensure the slice
|
||||
|
|
|
@ -106,7 +106,7 @@ impl Buf {
|
|||
|
||||
#[inline]
|
||||
pub fn as_slice(&self) -> &Slice {
|
||||
// Safety: Slice just wraps [u8],
|
||||
// SAFETY: Slice just wraps [u8],
|
||||
// and &*self.inner is &[u8], therefore
|
||||
// transmuting &[u8] to &Slice is safe.
|
||||
unsafe { mem::transmute(&*self.inner) }
|
||||
|
@ -114,7 +114,7 @@ impl Buf {
|
|||
|
||||
#[inline]
|
||||
pub fn as_mut_slice(&mut self) -> &mut Slice {
|
||||
// Safety: Slice just wraps [u8],
|
||||
// SAFETY: Slice just wraps [u8],
|
||||
// and &mut *self.inner is &mut [u8], therefore
|
||||
// transmuting &mut [u8] to &mut Slice is safe.
|
||||
unsafe { mem::transmute(&mut *self.inner) }
|
||||
|
|
|
@ -323,8 +323,8 @@ fn make_win_dist(
|
|||
// Warn windows-gnu users that the bundled GCC cannot compile C files
|
||||
builder.create(
|
||||
&target_bin_dir.join("GCC-WARNING.txt"),
|
||||
"gcc.exe contained in this folder cannot be used for compiling C files - it is only\
|
||||
used as a linker. In order to be able to compile projects containing C code use\
|
||||
"gcc.exe contained in this folder cannot be used for compiling C files - it is only \
|
||||
used as a linker. In order to be able to compile projects containing C code use \
|
||||
the GCC provided by MinGW or Cygwin.",
|
||||
);
|
||||
|
||||
|
|
|
@ -89,6 +89,28 @@ rustc -Clinker-plugin-lto="/path/to/LLVMgold.so" -L. -Copt-level=2 ./main.rs
|
|||
|
||||
## Toolchain Compatibility
|
||||
|
||||
<!-- NOTE: to update the below table, you can use this shell script:
|
||||
|
||||
```sh
|
||||
rustup toolchain install --profile minimal nightly
|
||||
MINOR_VERSION=$(rustc +nightly --version | cut -d . -f 2)
|
||||
LOWER_BOUND=44
|
||||
|
||||
llvm_version() {
|
||||
toolchain="$1"
|
||||
printf "Rust $toolchain | Clang "
|
||||
rustc +"$toolchain" -Vv | grep LLVM | cut -d ':' -f 2 | tr -d ' '
|
||||
}
|
||||
|
||||
for version in `seq $LOWER_BOUND $((MINOR_VERSION - 2))`; do
|
||||
toolchain=1.$version.0
|
||||
rustup toolchain install --no-self-update --profile minimal $toolchain >/dev/null 2>&1
|
||||
llvm_version $toolchain
|
||||
done
|
||||
```
|
||||
|
||||
-->
|
||||
|
||||
In order for this kind of LTO to work, the LLVM linker plugin must be able to
|
||||
handle the LLVM bitcode produced by both `rustc` and `clang`.
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ The `rustc_attrs` feature allows debugging rustc type layouts by using
|
|||
with `cargo check`) as an alternative to `rustc -Z print-type-sizes`
|
||||
that is way more verbose.
|
||||
|
||||
Options provided by `#[rustc_layout(...)]` are `debug`, `size`, `abi`.
|
||||
Note that it only work best with sized type without generics.
|
||||
Options provided by `#[rustc_layout(...)]` are `debug`, `size`, `align`,
|
||||
`abi`. Note that it only works on sized types without generics.
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
|
@ -59,9 +59,9 @@
|
|||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="bb0: $DIR/spanview-block.rs:5:11: 5:13:
|
||||
<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="0: $DIR/spanview-block.rs:5:11: 5:13:
|
||||
5:11-5:13: Assign: _0 = const ()
|
||||
5:13-5:13: Goto: goto -> bb2"><span class="annotation">@bb0:</span> {}</span></span><span><span class="code even" style="--layer: 1" title="bb2: $DIR/spanview-block.rs:5:13: 5:13:
|
||||
5:13-5:13: Return: return"><span class="annotation">@bb2</span></span></span></span></div>
|
||||
5:13-5:13: Goto: goto -> bb2"><span class="annotation">0⦊</span>{}<span class="annotation">⦉0</span></span></span><span><span class="code odd" style="--layer: 1" title="2: $DIR/spanview-block.rs:5:13: 5:13:
|
||||
5:13-5:13: Return: return"><span class="annotation">2⦊</span>‸<span class="annotation">⦉2</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -59,9 +59,9 @@
|
|||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="bb0[0]: $DIR/spanview-statement.rs:5:11: 5:13:
|
||||
5:11-5:13: Assign: _0 = const ()"><span class="annotation">@bb0[0]:</span> {}</span></span><span><span class="code even" style="--layer: 1" title="bb0`Goto`: $DIR/spanview-statement.rs:5:13: 5:13:
|
||||
5:13-5:13: Goto: goto -> bb2"><span class="annotation">@bb0`Goto`</span></span></span><span><span class="code even" style="--layer: 1" title="bb2`Return`: $DIR/spanview-statement.rs:5:13: 5:13:
|
||||
5:13-5:13: Return: return"><span class="annotation">@bb2`Return`</span></span></span></span></div>
|
||||
<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="0[0]: $DIR/spanview-statement.rs:5:11: 5:13:
|
||||
5:11-5:13: Assign: _0 = const ()"><span class="annotation">0[0]⦊</span>{}<span class="annotation">⦉0[0]</span></span></span><span><span class="code odd" style="--layer: 1" title="0:Goto: $DIR/spanview-statement.rs:5:13: 5:13:
|
||||
5:13-5:13: Goto: goto -> bb2"><span class="annotation">0:Goto⦊</span>‸<span class="annotation">⦉0:Goto</span></span></span><span><span class="code even" style="--layer: 1" title="2:Return: $DIR/spanview-statement.rs:5:13: 5:13:
|
||||
5:13-5:13: Return: return"><span class="annotation">2:Return⦊</span>‸<span class="annotation">⦉2:Return</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -59,8 +59,8 @@
|
|||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() {}</span><span><span class="code even" style="--layer: 1" title="bb0`Goto`: $DIR/spanview-terminator.rs:5:13: 5:13:
|
||||
5:13-5:13: Goto: goto -> bb2"><span class="annotation">@bb0`Goto`</span></span></span><span><span class="code even" style="--layer: 1" title="bb2`Return`: $DIR/spanview-terminator.rs:5:13: 5:13:
|
||||
5:13-5:13: Return: return"><span class="annotation">@bb2`Return`</span></span></span></span></div>
|
||||
<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() {}</span><span><span class="code even" style="--layer: 1" title="0:Goto: $DIR/spanview-terminator.rs:5:13: 5:13:
|
||||
5:13-5:13: Goto: goto -> bb2"><span class="annotation">0:Goto⦊</span>‸<span class="annotation">⦉0:Goto</span></span></span><span><span class="code odd" style="--layer: 1" title="2:Return: $DIR/spanview-terminator.rs:5:13: 5:13:
|
||||
5:13-5:13: Return: return"><span class="annotation">2:Return⦊</span>‸<span class="annotation">⦉2:Return</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -62,12 +62,12 @@
|
|||
<div class="code" style="counter-reset: line 2"><span class="line"><span class="code" style="--layer: 0">fn main() {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> let mut countdown = 0;</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: FalseEdge: falseEdge -> [real: bb4, imaginary: bb3]"><span class="annotation">@2</span></span></span><span class="code even" style="--layer: 2" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: FalseEdge: falseEdge -> [real: bb4, imaginary: bb3]"><span class="annotation">2⦊</span></span></span><span class="code even" style="--layer: 2" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
6:9-6:23: Assign: _1 = const 10_i32
|
||||
5:13-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">@4</span></span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">4⦊</span></span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">@3:</span> if </span><span class="code even" style="--layer: 4" title="bb0: ../instrument-coverage/coverage_of_if_else.rs:5:8: 5:12:
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">3⦊</span>if </span><span class="code even" style="--layer: 4" title="bb0: ../instrument-coverage/coverage_of_if_else.rs:5:8: 5:12:
|
||||
4:9-4:22: StorageLive: StorageLive(_1)
|
||||
4:25-4:26: Assign: _1 = const 0_i32
|
||||
4:9-4:22: FakeRead: FakeRead(ForLet, _1)
|
||||
|
@ -75,25 +75,29 @@
|
|||
5:8-5:12: StorageLive: StorageLive(_3)
|
||||
5:8-5:12: Assign: _3 = const true
|
||||
5:8-5:12: FakeRead: FakeRead(ForMatchedPlace, _3)
|
||||
5:5-7:6: SwitchInt: switchInt(_3) -> [false: bb3, otherwise: bb2]"><span class="annotation">@0:</span> true</span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: SwitchInt: switchInt(_3) -> [false: bb3, otherwise: bb2]"><span class="annotation">0⦊</span>true<span class="annotation">⦉0</span></span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">@3:</span> {</span></span>
|
||||
5:5-7:6: Goto: goto -> bb5"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"> countdown = 10;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"> }</span><span class="code" style="--layer: 0"></span></span>
|
||||
5:5-7:6: Goto: goto -> bb5"> }<span class="annotation">⦉3</span></span><span class="code even" style="--layer: 2" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
6:9-6:23: Assign: _1 = const 10_i32
|
||||
5:13-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">⦉4</span></span><span><span class="code even" style="--layer: 1" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: FalseEdge: falseEdge -> [real: bb4, imaginary: bb3]"><span class="annotation">⦉2</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: FalseEdge: falseEdge -> [real: bb8, imaginary: bb7]"><span class="annotation">@6</span></span></span><span class="code even" style="--layer: 2" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: FalseEdge: falseEdge -> [real: bb8, imaginary: bb7]"><span class="annotation">6⦊</span></span></span><span class="code even" style="--layer: 2" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
10:9-10:23: Assign: _1 = move (_7.0: i32)
|
||||
9:22-11:6: Assign: _4 = const ()
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@9</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">9⦊</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@25:</span> if </span><span class="code even" style="--layer: 4" title="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:8: 9:21:
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">25⦊</span>if </span><span class="code even" style="--layer: 4" title="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:8: 9:21:
|
||||
7:5-7:6: StorageDead: StorageDead(_3)
|
||||
7:5-7:6: StorageDead: StorageDead(_2)
|
||||
9:5-18:6: StorageLive: StorageLive(_4)
|
||||
|
@ -103,61 +107,61 @@
|
|||
9:8-9:21: Assign: _5 = Gt(move _6, const 7_i32)
|
||||
9:20-9:21: StorageDead: StorageDead(_6)
|
||||
9:8-9:21: FakeRead: FakeRead(ForMatchedPlace, _5)
|
||||
9:5-18:6: SwitchInt: switchInt(_5) -> [false: bb7, otherwise: bb6]"><span class="annotation">@5:</span> countdown > 7</span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: SwitchInt: switchInt(_5) -> [false: bb7, otherwise: bb6]"><span class="annotation">5⦊</span>countdown > 7<span class="annotation">⦉5</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@25:</span> {</span></span>
|
||||
9:5-18:6: Goto: goto -> bb28"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"> </span><span class="code odd" style="--layer: 4" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23:
|
||||
10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32)
|
||||
10:9-10:23: Assert: assert(!move (_7.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 4_i32) -> [success: bb9, unwind: bb1]"><span class="annotation">@8:</span> countdown -= 4</span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
10:9-10:23: Assert: assert(!move (_7.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 4_i32) -> [success: bb9, unwind: bb1]"><span class="annotation">8⦊</span>countdown -= 4<span class="annotation">⦉8</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@25:</span> ;</span></span>
|
||||
9:5-18:6: Goto: goto -> bb28">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"> } else </span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">@10:</span> if </span><span class="code even" style="--layer: 5" title="bb7: ../instrument-coverage/coverage_of_if_else.rs:11:15: 11:28:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">10⦊</span>if </span><span class="code even" style="--layer: 5" title="bb7: ../instrument-coverage/coverage_of_if_else.rs:11:15: 11:28:
|
||||
11:15-11:28: StorageLive: StorageLive(_8)
|
||||
11:15-11:24: StorageLive: StorageLive(_9)
|
||||
11:15-11:24: Assign: _9 = _1
|
||||
11:15-11:28: Assign: _8 = Gt(move _9, const 2_i32)
|
||||
11:27-11:28: StorageDead: StorageDead(_9)
|
||||
11:15-11:28: FakeRead: FakeRead(ForMatchedPlace, _8)
|
||||
11:12-18:6: SwitchInt: switchInt(_8) -> [false: bb11, otherwise: bb10]"><span class="annotation">@7:</span> countdown > 2</span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">@10:</span> {</span></span>
|
||||
11:12-18:6: SwitchInt: switchInt(_8) -> [false: bb11, otherwise: bb10]"><span class="annotation">7⦊</span>countdown > 2<span class="annotation">⦉7</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> </span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">@22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">22⦊</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
13:13-13:26: Assign: _1 = const 0_i32
|
||||
12:61-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">@23</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">@21:</span> if </span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">23⦊</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">21⦊</span>if </span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const false
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">@14</span></span><span class="code even" style="--layer: 9" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">14⦊</span></span><span class="code even" style="--layer: 9" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:46-12:60: StorageLive: StorageLive(_17)
|
||||
12:46-12:55: StorageLive: StorageLive(_18)
|
||||
12:46-12:55: Assign: _18 = _1
|
||||
12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32)
|
||||
12:59-12:60: StorageDead: StorageDead(_18)
|
||||
12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb14, otherwise: bb13]"><span class="annotation">@15</span></span><span class="code even" style="--layer: 10" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb14, otherwise: bb13]"><span class="annotation">15⦊</span></span><span class="code even" style="--layer: 10" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:59-12:60: StorageDead: StorageDead(_17)
|
||||
12:59-12:60: StorageDead: StorageDead(_12)
|
||||
12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11)
|
||||
12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb22, otherwise: bb21]"><span class="annotation">@16</span></span><span class="code even" style="--layer: 11" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb22, otherwise: bb21]"><span class="annotation">16⦊</span></span><span class="code even" style="--layer: 11" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const true
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">@13</span></span><span class="code even" style="--layer: 12" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">13⦊</span></span><span class="code even" style="--layer: 12" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:41-12:42: StorageDead: StorageDead(_15)
|
||||
12:41-12:42: StorageDead: StorageDead(_13)
|
||||
12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb15, otherwise: bb13]"><span class="annotation">@20</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb15, otherwise: bb13]"><span class="annotation">20⦊</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: StorageLive: StorageLive(_10)
|
||||
12:12-12:60: StorageLive: StorageLive(_11)
|
||||
12:12-12:42: StorageLive: StorageLive(_12)
|
||||
|
@ -166,17 +170,25 @@
|
|||
12:12-12:21: Assign: _14 = _1
|
||||
12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32)
|
||||
12:24-12:25: StorageDead: StorageDead(_14)
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"><span class="annotation">@12</span></span><span class="code even" style="--layer: 14" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"><span class="annotation">12⦊</span></span><span class="code even" style="--layer: 14" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Assign: _12 = const false
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">@18</span></span><span class="code even" style="--layer: 15" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">18⦊</span></span><span class="code even" style="--layer: 15" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:29-12:42: StorageLive: StorageLive(_15)
|
||||
12:29-12:38: StorageLive: StorageLive(_16)
|
||||
12:29-12:38: Assign: _16 = _1
|
||||
12:29-12:42: Assign: _15 = Gt(move _16, const 5_i32)
|
||||
12:41-12:42: StorageDead: StorageDead(_16)
|
||||
12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb18, otherwise: bb17]"><span class="annotation">@19</span></span><span class="code even" style="--layer: 16" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb18, otherwise: bb17]"><span class="annotation">19⦊</span></span><span class="code even" style="--layer: 16" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Assign: _12 = const true
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">@17:</span> countdown < 1 || countdown > 5</span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">17⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉17</span></span><span class="code even" style="--layer: 15" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:29-12:42: StorageLive: StorageLive(_15)
|
||||
12:29-12:38: StorageLive: StorageLive(_16)
|
||||
12:29-12:38: Assign: _16 = _1
|
||||
12:29-12:42: Assign: _15 = Gt(move _16, const 5_i32)
|
||||
12:41-12:42: StorageDead: StorageDead(_16)
|
||||
12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb18, otherwise: bb17]"><span class="annotation">⦉19</span></span><span class="code even" style="--layer: 14" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Assign: _12 = const false
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">⦉18</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: StorageLive: StorageLive(_10)
|
||||
12:12-12:60: StorageLive: StorageLive(_11)
|
||||
12:12-12:42: StorageLive: StorageLive(_12)
|
||||
|
@ -185,8 +197,25 @@
|
|||
12:12-12:21: Assign: _14 = _1
|
||||
12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32)
|
||||
12:24-12:25: StorageDead: StorageDead(_14)
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"><span class="annotation">@12:</span> || countdown != 9</span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">@21:</span> {</span></span>
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"> || countdown != 9<span class="annotation">⦉12</span></span><span class="code even" style="--layer: 12" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:41-12:42: StorageDead: StorageDead(_15)
|
||||
12:41-12:42: StorageDead: StorageDead(_13)
|
||||
12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb15, otherwise: bb13]"><span class="annotation">⦉20</span></span><span class="code even" style="--layer: 11" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const true
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">⦉13</span></span><span class="code even" style="--layer: 10" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:59-12:60: StorageDead: StorageDead(_17)
|
||||
12:59-12:60: StorageDead: StorageDead(_12)
|
||||
12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11)
|
||||
12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb22, otherwise: bb21]"><span class="annotation">⦉16</span></span><span class="code even" style="--layer: 9" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:46-12:60: StorageLive: StorageLive(_17)
|
||||
12:46-12:55: StorageLive: StorageLive(_18)
|
||||
12:46-12:55: Assign: _18 = _1
|
||||
12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32)
|
||||
12:59-12:60: StorageDead: StorageDead(_18)
|
||||
12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb14, otherwise: bb13]"><span class="annotation">⦉15</span></span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const false
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">⦉14</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"> countdown = 0;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
|
@ -194,32 +223,67 @@
|
|||
14:9-14:10: StorageDead: StorageDead(_11)
|
||||
14:9-14:10: StorageDead: StorageDead(_10)
|
||||
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"><span class="annotation">@24:</span> }</span></span>
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"><span class="annotation">24⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
13:13-13:26: Assign: _1 = const 0_i32
|
||||
12:61-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">⦉23</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">⦉21</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">⦉21</span></span><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23:
|
||||
14:9-14:10: StorageDead: StorageDead(_11)
|
||||
14:9-14:10: StorageDead: StorageDead(_10)
|
||||
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"></span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23:
|
||||
14:9-14:10: StorageDead: StorageDead(_11)
|
||||
14:9-14:10: StorageDead: StorageDead(_10)
|
||||
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"> countdown -= 5</span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">@10:</span> ;</span></span>
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"> countdown -= 5<span class="annotation">⦉24</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> } else {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> </span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">@27</span></span><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">27⦊</span></span><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Assign: _0 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
17:9-17:15: Goto: goto -> bb27"><span class="annotation">@11:</span> return;</span></span>
|
||||
17:9-17:15: Goto: goto -> bb27"><span class="annotation">11⦊</span>return;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Assign: _0 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
17:9-17:15: Goto: goto -> bb27"> }</span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
17:9-17:15: Goto: goto -> bb27"> }<span class="annotation">⦉11</span></span><span><span class="code odd" style="--layer: 1" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: FalseEdge: falseEdge -> [real: bb8, imaginary: bb7]"><span class="annotation">⦉6</span></span></span><span class="code even" style="--layer: 2" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
10:9-10:23: Assign: _1 = move (_7.0: i32)
|
||||
9:22-11:6: Assign: _4 = const ()
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉9</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉25</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉25</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉25</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">⦉10</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">⦉10</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">⦉10</span></span><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Assign: _0 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
17:9-17:15: Goto: goto -> bb27"><span class="annotation">⦉11</span></span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">@27:</span> </span></span>
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
|
@ -230,11 +294,11 @@
|
|||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"> </span><span class="code odd" style="--layer: 6" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">@30</span></span><span class="code even" style="--layer: 7" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">30⦊</span></span><span class="code even" style="--layer: 7" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
22:9-22:23: Assign: _21 = const 10_i32
|
||||
21:13-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">@31</span></span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"><span class="annotation">@29:</span> if </span><span class="code even" style="--layer: 9" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:8: 21:12:
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">31⦊</span></span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"><span class="annotation">29⦊</span>if </span><span class="code even" style="--layer: 9" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:8: 21:12:
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
20:9-20:22: StorageLive: StorageLive(_21)
|
||||
|
@ -244,28 +308,33 @@
|
|||
21:8-21:12: StorageLive: StorageLive(_23)
|
||||
21:8-21:12: Assign: _23 = const true
|
||||
21:8-21:12: FakeRead: FakeRead(ForMatchedPlace, _23)
|
||||
21:5-23:6: SwitchInt: switchInt(_23) -> [false: bb30, otherwise: bb29]"><span class="annotation">@28:</span> true</span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"><span class="annotation">@29:</span> {</span></span>
|
||||
21:5-23:6: SwitchInt: switchInt(_23) -> [false: bb30, otherwise: bb29]"><span class="annotation">28⦊</span>true<span class="annotation">⦉28</span></span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> countdown = 10;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> }</span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> }<span class="annotation">⦉29</span></span><span class="code even" style="--layer: 7" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
22:9-22:23: Assign: _21 = const 10_i32
|
||||
21:13-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">⦉31</span></span><span class="code odd" style="--layer: 6" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">⦉30</span></span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">@27:</span> </span></span>
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"> </span><span class="code even" style="--layer: 6" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: FalseEdge: falseEdge -> [real: bb35, imaginary: bb34]"><span class="annotation">@33</span></span><span class="code even" style="--layer: 7" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: FalseEdge: falseEdge -> [real: bb35, imaginary: bb34]"><span class="annotation">33⦊</span></span><span class="code even" style="--layer: 7" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
31:9-31:23: Assign: _21 = move (_39.0: i32)
|
||||
27:29-32:6: Assign: _24 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@52</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">52⦊</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@36:</span> if </span><span class="code even" style="--layer: 9" title="bb32: ../instrument-coverage/coverage_of_if_else.rs:25:8: 25:21:
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">36⦊</span>if </span><span class="code even" style="--layer: 9" title="bb32: ../instrument-coverage/coverage_of_if_else.rs:25:8: 25:21:
|
||||
23:5-23:6: StorageDead: StorageDead(_23)
|
||||
23:5-23:6: StorageDead: StorageDead(_22)
|
||||
25:5-34:6: StorageLive: StorageLive(_24)
|
||||
|
@ -275,40 +344,40 @@
|
|||
25:8-25:21: Assign: _25 = Gt(move _26, const 7_i32)
|
||||
25:20-25:21: StorageDead: StorageDead(_26)
|
||||
25:8-25:21: FakeRead: FakeRead(ForMatchedPlace, _25)
|
||||
25:5-34:6: SwitchInt: switchInt(_25) -> [false: bb34, otherwise: bb33]"><span class="annotation">@32:</span> countdown > 7</span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: SwitchInt: switchInt(_25) -> [false: bb34, otherwise: bb33]"><span class="annotation">32⦊</span>countdown > 7<span class="annotation">⦉32</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@36:</span> {</span></span>
|
||||
25:5-34:6: Goto: goto -> bb53"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"> </span><span class="code odd" style="--layer: 9" title="bb35: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23:
|
||||
26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32)
|
||||
26:9-26:23: Assert: assert(!move (_27.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 4_i32) -> [success: bb36, unwind: bb1]"><span class="annotation">@35:</span> countdown -= 4</span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assert: assert(!move (_27.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 4_i32) -> [success: bb36, unwind: bb1]"><span class="annotation">35⦊</span>countdown -= 4<span class="annotation">⦉35</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@36:</span> ;</span></span>
|
||||
25:5-34:6: Goto: goto -> bb53">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"> } else </span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">@37:</span> if </span><span class="code even" style="--layer: 10" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:15: 27:28:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">37⦊</span>if </span><span class="code even" style="--layer: 10" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:15: 27:28:
|
||||
27:15-27:28: StorageLive: StorageLive(_28)
|
||||
27:15-27:24: StorageLive: StorageLive(_29)
|
||||
27:15-27:24: Assign: _29 = _21
|
||||
27:15-27:28: Assign: _28 = Gt(move _29, const 2_i32)
|
||||
27:27-27:28: StorageDead: StorageDead(_29)
|
||||
27:15-27:28: FakeRead: FakeRead(ForMatchedPlace, _28)
|
||||
27:12-34:6: SwitchInt: switchInt(_28) -> [false: bb38, otherwise: bb37]"><span class="annotation">@34:</span> countdown > 2</span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">@37:</span> {</span></span>
|
||||
27:12-34:6: SwitchInt: switchInt(_28) -> [false: bb38, otherwise: bb37]"><span class="annotation">34⦊</span>countdown > 2<span class="annotation">⦉34</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"> </span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: FalseEdge: falseEdge -> [real: bb50, imaginary: bb49]"><span class="annotation">@48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: FalseEdge: falseEdge -> [real: bb50, imaginary: bb49]"><span class="annotation">48⦊</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
29:13-29:26: Assign: _21 = const 0_i32
|
||||
28:61-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">@50</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">50⦊</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">@49:</span> if </span><span class="code even" style="--layer: 13" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">49⦊</span>if </span><span class="code even" style="--layer: 13" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: StorageLive: StorageLive(_30)
|
||||
28:12-28:60: StorageLive: StorageLive(_31)
|
||||
28:12-28:42: StorageLive: StorageLive(_32)
|
||||
|
@ -317,38 +386,70 @@
|
|||
28:12-28:21: Assign: _34 = _21
|
||||
28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32)
|
||||
28:24-28:25: StorageDead: StorageDead(_34)
|
||||
28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb46, otherwise: bb44]"><span class="annotation">@39</span></span><span class="code even" style="--layer: 14" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb46, otherwise: bb44]"><span class="annotation">39⦊</span></span><span class="code even" style="--layer: 14" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:41-28:42: StorageDead: StorageDead(_35)
|
||||
28:41-28:42: StorageDead: StorageDead(_33)
|
||||
28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb42, otherwise: bb40]"><span class="annotation">@47</span></span><span class="code even" style="--layer: 15" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb42, otherwise: bb40]"><span class="annotation">47⦊</span></span><span class="code even" style="--layer: 15" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const true
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">@40</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">40⦊</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:59-28:60: StorageDead: StorageDead(_37)
|
||||
28:59-28:60: StorageDead: StorageDead(_32)
|
||||
28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31)
|
||||
28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb49, otherwise: bb48]"><span class="annotation">@43</span></span><span class="code even" style="--layer: 17" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb49, otherwise: bb48]"><span class="annotation">43⦊</span></span><span class="code even" style="--layer: 17" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:46-28:60: StorageLive: StorageLive(_37)
|
||||
28:46-28:55: StorageLive: StorageLive(_38)
|
||||
28:46-28:55: Assign: _38 = _21
|
||||
28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32)
|
||||
28:59-28:60: StorageDead: StorageDead(_38)
|
||||
28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb41, otherwise: bb40]"><span class="annotation">@42</span></span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb41, otherwise: bb40]"><span class="annotation">42⦊</span></span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const false
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">@41</span></span><span class="code even" style="--layer: 19" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">41⦊</span></span><span class="code even" style="--layer: 19" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:29-28:42: StorageLive: StorageLive(_35)
|
||||
28:29-28:38: StorageLive: StorageLive(_36)
|
||||
28:29-28:38: Assign: _36 = _21
|
||||
28:29-28:42: Assign: _35 = Gt(move _36, const 5_i32)
|
||||
28:41-28:42: StorageDead: StorageDead(_36)
|
||||
28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb45, otherwise: bb44]"><span class="annotation">@46</span></span><span class="code even" style="--layer: 20" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb45, otherwise: bb44]"><span class="annotation">46⦊</span></span><span class="code even" style="--layer: 20" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Assign: _32 = const false
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">@45</span></span><span class="code even" style="--layer: 21" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">45⦊</span></span><span class="code even" style="--layer: 21" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Assign: _32 = const true
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">@44:</span> countdown < 1 || countdown > 5</span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">44⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉44</span></span><span class="code even" style="--layer: 20" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Assign: _32 = const false
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">⦉45</span></span><span class="code even" style="--layer: 19" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:29-28:42: StorageLive: StorageLive(_35)
|
||||
28:29-28:38: StorageLive: StorageLive(_36)
|
||||
28:29-28:38: Assign: _36 = _21
|
||||
28:29-28:42: Assign: _35 = Gt(move _36, const 5_i32)
|
||||
28:41-28:42: StorageDead: StorageDead(_36)
|
||||
28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb45, otherwise: bb44]"><span class="annotation">⦉46</span></span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const false
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">@41:</span> || countdown != 9</span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:12-28:60: Goto: goto -> bb43"> || countdown != 9<span class="annotation">⦉41</span></span><span class="code even" style="--layer: 17" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:46-28:60: StorageLive: StorageLive(_37)
|
||||
28:46-28:55: StorageLive: StorageLive(_38)
|
||||
28:46-28:55: Assign: _38 = _21
|
||||
28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32)
|
||||
28:59-28:60: StorageDead: StorageDead(_38)
|
||||
28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb41, otherwise: bb40]"><span class="annotation">⦉42</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:59-28:60: StorageDead: StorageDead(_37)
|
||||
28:59-28:60: StorageDead: StorageDead(_32)
|
||||
28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31)
|
||||
28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb49, otherwise: bb48]"><span class="annotation">⦉43</span></span><span class="code even" style="--layer: 15" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const true
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">⦉40</span></span><span class="code even" style="--layer: 14" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:41-28:42: StorageDead: StorageDead(_35)
|
||||
28:41-28:42: StorageDead: StorageDead(_33)
|
||||
28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb42, otherwise: bb40]"><span class="annotation">⦉47</span></span><span class="code even" style="--layer: 13" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: StorageLive: StorageLive(_30)
|
||||
28:12-28:60: StorageLive: StorageLive(_31)
|
||||
28:12-28:42: StorageLive: StorageLive(_32)
|
||||
28:12-28:25: StorageLive: StorageLive(_33)
|
||||
28:12-28:21: StorageLive: StorageLive(_34)
|
||||
28:12-28:21: Assign: _34 = _21
|
||||
28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32)
|
||||
28:24-28:25: StorageDead: StorageDead(_34)
|
||||
28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb46, otherwise: bb44]"><span class="annotation">⦉39</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">@49:</span> {</span></span>
|
||||
28:9-30:10: Goto: goto -> bb51"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"> countdown = 0;</span></span>
|
||||
|
@ -358,13 +459,25 @@
|
|||
30:9-30:10: StorageDead: StorageDead(_31)
|
||||
30:9-30:10: StorageDead: StorageDead(_30)
|
||||
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"><span class="annotation">@51:</span> }</span></span>
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"><span class="annotation">51⦊</span>}</span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: FalseEdge: falseEdge -> [real: bb50, imaginary: bb49]"><span class="annotation">⦉48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
29:13-29:26: Assign: _21 = const 0_i32
|
||||
28:61-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">⦉50</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">⦉49</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">⦉49</span></span><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23:
|
||||
30:9-30:10: StorageDead: StorageDead(_31)
|
||||
30:9-30:10: StorageDead: StorageDead(_30)
|
||||
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"></span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23:
|
||||
30:9-30:10: StorageDead: StorageDead(_31)
|
||||
30:9-30:10: StorageDead: StorageDead(_30)
|
||||
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"> countdown -= 5</span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">@37:</span> ;</span></span>
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"> countdown -= 5<span class="annotation">⦉51</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"> } else {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
|
@ -374,14 +487,37 @@
|
|||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">@38:</span> return;</span></span>
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">38⦊</span>return;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"> }</span></span>
|
||||
33:9-33:15: Goto: goto -> bb27"> }</span><span class="code even" style="--layer: 6" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: FalseEdge: falseEdge -> [real: bb35, imaginary: bb34]"><span class="annotation">⦉33</span></span><span class="code even" style="--layer: 7" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
31:9-31:23: Assign: _21 = move (_39.0: i32)
|
||||
27:29-32:6: Assign: _24 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉52</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">⦉37</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">⦉37</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">⦉37</span></span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
|
@ -405,10 +541,10 @@
|
|||
33:9-33:15: Goto: goto -> bb27"> </span><span class="code even" style="--layer: 11" title="bb56: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
38:9-38:23: Assign: _41 = const 10_i32
|
||||
37:13-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">@56</span></span><span class="code even" style="--layer: 12" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: FalseEdge: falseEdge -> [real: bb56, imaginary: bb55]"><span class="annotation">@54</span></span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">56⦊</span></span><span class="code even" style="--layer: 12" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: FalseEdge: falseEdge -> [real: bb56, imaginary: bb55]"><span class="annotation">54⦊</span></span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">@55:</span> if </span><span class="code even" style="--layer: 14" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:8: 37:12:
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">55⦊</span>if </span><span class="code even" style="--layer: 14" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:8: 37:12:
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
36:9-36:22: StorageLive: StorageLive(_41)
|
||||
|
@ -418,21 +554,25 @@
|
|||
37:8-37:12: StorageLive: StorageLive(_43)
|
||||
37:8-37:12: Assign: _43 = const true
|
||||
37:8-37:12: FakeRead: FakeRead(ForMatchedPlace, _43)
|
||||
37:5-39:6: SwitchInt: switchInt(_43) -> [false: bb55, otherwise: bb54]"><span class="annotation">@53:</span> true</span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: SwitchInt: switchInt(_43) -> [false: bb55, otherwise: bb54]"><span class="annotation">53⦊</span>true<span class="annotation">⦉53</span></span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">@55:</span> {</span></span>
|
||||
37:5-39:6: Goto: goto -> bb57"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"> countdown = 10;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"> }</span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
37:5-39:6: Goto: goto -> bb57"> }<span class="annotation">⦉55</span></span><span class="code even" style="--layer: 12" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: FalseEdge: falseEdge -> [real: bb56, imaginary: bb55]"><span class="annotation">⦉54</span></span><span class="code even" style="--layer: 11" title="bb56: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
38:9-38:23: Assign: _41 = const 10_i32
|
||||
37:13-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">⦉56</span></span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">@38:</span> </span></span>
|
||||
33:9-33:15: Goto: goto -> bb27"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
|
@ -449,12 +589,12 @@
|
|||
33:9-33:15: Goto: goto -> bb27"> </span><span class="code odd" style="--layer: 11" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
42:9-42:23: Assign: _41 = move (_46.0: i32)
|
||||
41:22-43:6: Assign: _0 = const ()
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@61</span></span><span class="code even" style="--layer: 12" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: FalseEdge: falseEdge -> [real: bb60, imaginary: bb59]"><span class="annotation">@58</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">61⦊</span></span><span class="code even" style="--layer: 12" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: FalseEdge: falseEdge -> [real: bb60, imaginary: bb59]"><span class="annotation">58⦊</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@77:</span> if </span><span class="code even" style="--layer: 14" title="bb57: ../instrument-coverage/coverage_of_if_else.rs:41:8: 41:21:
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">77⦊</span>if </span><span class="code even" style="--layer: 14" title="bb57: ../instrument-coverage/coverage_of_if_else.rs:41:8: 41:21:
|
||||
39:5-39:6: StorageDead: StorageDead(_43)
|
||||
39:5-39:6: StorageDead: StorageDead(_42)
|
||||
41:8-41:21: StorageLive: StorageLive(_44)
|
||||
|
@ -463,59 +603,59 @@
|
|||
41:8-41:21: Assign: _44 = Gt(move _45, const 7_i32)
|
||||
41:20-41:21: StorageDead: StorageDead(_45)
|
||||
41:8-41:21: FakeRead: FakeRead(ForMatchedPlace, _44)
|
||||
41:5-50:6: SwitchInt: switchInt(_44) -> [false: bb59, otherwise: bb58]"><span class="annotation">@57:</span> countdown > 7</span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: SwitchInt: switchInt(_44) -> [false: bb59, otherwise: bb58]"><span class="annotation">57⦊</span>countdown > 7<span class="annotation">⦉57</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@77:</span> {</span></span>
|
||||
41:5-50:6: Goto: goto -> bb78"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"> </span><span class="code odd" style="--layer: 14" title="bb60: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23:
|
||||
42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32)
|
||||
42:9-42:23: Assert: assert(!move (_46.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 4_i32) -> [success: bb61, unwind: bb1]"><span class="annotation">@60:</span> countdown -= 4</span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
42:9-42:23: Assert: assert(!move (_46.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 4_i32) -> [success: bb61, unwind: bb1]"><span class="annotation">60⦊</span>countdown -= 4<span class="annotation">⦉60</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@77:</span> ;</span></span>
|
||||
41:5-50:6: Goto: goto -> bb78">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"> } else </span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">@62:</span> if </span><span class="code even" style="--layer: 15" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:15: 43:28:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">62⦊</span>if </span><span class="code even" style="--layer: 15" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:15: 43:28:
|
||||
43:15-43:28: StorageLive: StorageLive(_47)
|
||||
43:15-43:24: StorageLive: StorageLive(_48)
|
||||
43:15-43:24: Assign: _48 = _41
|
||||
43:15-43:28: Assign: _47 = Gt(move _48, const 2_i32)
|
||||
43:27-43:28: StorageDead: StorageDead(_48)
|
||||
43:15-43:28: FakeRead: FakeRead(ForMatchedPlace, _47)
|
||||
43:12-50:6: SwitchInt: switchInt(_47) -> [false: bb63, otherwise: bb62]"><span class="annotation">@59:</span> countdown > 2</span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">@62:</span> {</span></span>
|
||||
43:12-50:6: SwitchInt: switchInt(_47) -> [false: bb63, otherwise: bb62]"><span class="annotation">59⦊</span>countdown > 2<span class="annotation">⦉59</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"> </span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
45:13-45:26: Assign: _41 = const 0_i32
|
||||
44:61-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">@75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">75⦊</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">@74</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">@73:</span> if </span><span class="code even" style="--layer: 18" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">74⦊</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">73⦊</span>if </span><span class="code even" style="--layer: 18" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:46-44:60: StorageLive: StorageLive(_56)
|
||||
44:46-44:55: StorageLive: StorageLive(_57)
|
||||
44:46-44:55: Assign: _57 = _41
|
||||
44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32)
|
||||
44:59-44:60: StorageDead: StorageDead(_57)
|
||||
44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb66, otherwise: bb65]"><span class="annotation">@67</span></span><span class="code even" style="--layer: 19" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb66, otherwise: bb65]"><span class="annotation">67⦊</span></span><span class="code even" style="--layer: 19" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:59-44:60: StorageDead: StorageDead(_56)
|
||||
44:59-44:60: StorageDead: StorageDead(_51)
|
||||
44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50)
|
||||
44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb74, otherwise: bb73]"><span class="annotation">@68</span></span><span class="code even" style="--layer: 20" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb74, otherwise: bb73]"><span class="annotation">68⦊</span></span><span class="code even" style="--layer: 20" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const true
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">@65</span></span><span class="code even" style="--layer: 21" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">65⦊</span></span><span class="code even" style="--layer: 21" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:41-44:42: StorageDead: StorageDead(_54)
|
||||
44:41-44:42: StorageDead: StorageDead(_52)
|
||||
44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb67, otherwise: bb65]"><span class="annotation">@72</span></span><span class="code even" style="--layer: 22" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb67, otherwise: bb65]"><span class="annotation">72⦊</span></span><span class="code even" style="--layer: 22" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: StorageLive: StorageLive(_49)
|
||||
44:12-44:60: StorageLive: StorageLive(_50)
|
||||
44:12-44:42: StorageLive: StorageLive(_51)
|
||||
|
@ -524,22 +664,54 @@
|
|||
44:12-44:21: Assign: _53 = _41
|
||||
44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32)
|
||||
44:24-44:25: StorageDead: StorageDead(_53)
|
||||
44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb71, otherwise: bb69]"><span class="annotation">@64</span></span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb71, otherwise: bb69]"><span class="annotation">64⦊</span></span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const false
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">@66</span></span><span class="code even" style="--layer: 24" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">66⦊</span></span><span class="code even" style="--layer: 24" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Assign: _51 = const true
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">@69</span></span><span class="code even" style="--layer: 25" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">69⦊</span></span><span class="code even" style="--layer: 25" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:29-44:42: StorageLive: StorageLive(_54)
|
||||
44:29-44:38: StorageLive: StorageLive(_55)
|
||||
44:29-44:38: Assign: _55 = _41
|
||||
44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32)
|
||||
44:41-44:42: StorageDead: StorageDead(_55)
|
||||
44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb70, otherwise: bb69]"><span class="annotation">@71</span></span><span class="code even" style="--layer: 26" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb70, otherwise: bb69]"><span class="annotation">71⦊</span></span><span class="code even" style="--layer: 26" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Assign: _51 = const false
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">@70:</span> countdown < 1 || countdown > 5</span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">70⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉70</span></span><span class="code even" style="--layer: 25" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:29-44:42: StorageLive: StorageLive(_54)
|
||||
44:29-44:38: StorageLive: StorageLive(_55)
|
||||
44:29-44:38: Assign: _55 = _41
|
||||
44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32)
|
||||
44:41-44:42: StorageDead: StorageDead(_55)
|
||||
44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb70, otherwise: bb69]"><span class="annotation">⦉71</span></span><span class="code even" style="--layer: 24" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Assign: _51 = const true
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">⦉69</span></span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const false
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">@66:</span> || countdown != 9</span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">@73:</span> {</span></span>
|
||||
44:12-44:60: Goto: goto -> bb68"> || countdown != 9<span class="annotation">⦉66</span></span><span class="code even" style="--layer: 22" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: StorageLive: StorageLive(_49)
|
||||
44:12-44:60: StorageLive: StorageLive(_50)
|
||||
44:12-44:42: StorageLive: StorageLive(_51)
|
||||
44:12-44:25: StorageLive: StorageLive(_52)
|
||||
44:12-44:21: StorageLive: StorageLive(_53)
|
||||
44:12-44:21: Assign: _53 = _41
|
||||
44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32)
|
||||
44:24-44:25: StorageDead: StorageDead(_53)
|
||||
44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb71, otherwise: bb69]"><span class="annotation">⦉64</span></span><span class="code even" style="--layer: 21" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:41-44:42: StorageDead: StorageDead(_54)
|
||||
44:41-44:42: StorageDead: StorageDead(_52)
|
||||
44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb67, otherwise: bb65]"><span class="annotation">⦉72</span></span><span class="code even" style="--layer: 20" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const true
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">⦉65</span></span><span class="code even" style="--layer: 19" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:59-44:60: StorageDead: StorageDead(_56)
|
||||
44:59-44:60: StorageDead: StorageDead(_51)
|
||||
44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50)
|
||||
44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb74, otherwise: bb73]"><span class="annotation">⦉68</span></span><span class="code even" style="--layer: 18" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:46-44:60: StorageLive: StorageLive(_56)
|
||||
44:46-44:55: StorageLive: StorageLive(_57)
|
||||
44:46-44:55: Assign: _57 = _41
|
||||
44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32)
|
||||
44:59-44:60: StorageDead: StorageDead(_57)
|
||||
44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb66, otherwise: bb65]"><span class="annotation">⦉67</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"> countdown = 0;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
|
@ -547,13 +719,24 @@
|
|||
46:9-46:10: StorageDead: StorageDead(_50)
|
||||
46:9-46:10: StorageDead: StorageDead(_49)
|
||||
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"><span class="annotation">@76:</span> }</span></span>
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"><span class="annotation">76⦊</span>}</span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
45:13-45:26: Assign: _41 = const 0_i32
|
||||
44:61-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">⦉75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">⦉74</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">⦉73</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">⦉73</span></span><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23:
|
||||
46:9-46:10: StorageDead: StorageDead(_50)
|
||||
46:9-46:10: StorageDead: StorageDead(_49)
|
||||
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"></span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23:
|
||||
46:9-46:10: StorageDead: StorageDead(_50)
|
||||
46:9-46:10: StorageDead: StorageDead(_49)
|
||||
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"> countdown -= 5</span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">@62:</span> ;</span></span>
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"> countdown -= 5<span class="annotation">⦉76</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"> } else {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
|
@ -564,7 +747,7 @@
|
|||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
49:9-49:15: Goto: goto -> bb26"><span class="annotation">@63:</span> return;</span></span>
|
||||
49:9-49:15: Goto: goto -> bb26"><span class="annotation">63⦊</span>return;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 15" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:49:9: 51:2:
|
||||
49:9-49:15: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
|
@ -572,12 +755,54 @@
|
|||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
49:9-49:15: Goto: goto -> bb26"> }</span><span class="code even" style="--layer: 16" title="bb78: ../instrument-coverage/coverage_of_if_else.rs:51:1: 51:2:
|
||||
49:9-49:15: Goto: goto -> bb26"> }</span><span class="code odd" style="--layer: 11" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
42:9-42:23: Assign: _41 = move (_46.0: i32)
|
||||
41:22-43:6: Assign: _0 = const ()
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉61</span></span><span class="code even" style="--layer: 12" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: FalseEdge: falseEdge -> [real: bb60, imaginary: bb59]"><span class="annotation">⦉58</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉77</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉77</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉77</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 15" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:49:9: 51:2:
|
||||
49:9-49:15: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
51:1-51:2: StorageDead: StorageDead(_41)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
51:2-51:2: Goto: goto -> bb26"><span class="annotation">@78:</span> }</span><span><span class="code even" style="--layer: 1" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:51:2: 51:2:
|
||||
51:2-51:2: Return: return"><span class="annotation">@26</span></span></span></span></div>
|
||||
49:9-49:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 16" title="bb78: ../instrument-coverage/coverage_of_if_else.rs:51:1: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_41)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
51:2-51:2: Goto: goto -> bb26"><span class="annotation">78⦊</span>}<span class="annotation">⦉78</span></span><span class="code even" style="--layer: 15" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:49:9: 51:2:
|
||||
49:9-49:15: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
51:1-51:2: StorageDead: StorageDead(_41)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
49:9-49:15: Goto: goto -> bb26"><span class="annotation">⦉63</span></span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">⦉38</span></span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">⦉27</span></span><span><span class="code even" style="--layer: 1" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:51:2: 51:2:
|
||||
51:2-51:2: Return: return"><span class="annotation">26⦊</span>‸<span class="annotation">⦉26</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -62,12 +62,12 @@
|
|||
<div class="code" style="counter-reset: line 2"><span class="line"><span class="code" style="--layer: 0">fn main() {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> let mut countdown = 0;</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: FalseEdge: falseEdge -> [real: bb4, imaginary: bb3]"><span class="annotation">@2</span></span></span><span class="code even" style="--layer: 2" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: FalseEdge: falseEdge -> [real: bb4, imaginary: bb3]"><span class="annotation">2⦊</span></span></span><span class="code even" style="--layer: 2" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
6:9-6:23: Assign: _1 = const 10_i32
|
||||
5:13-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">@4</span></span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">4⦊</span></span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">@3:</span> if </span><span class="code even" style="--layer: 4" title="bb0: ../instrument-coverage/coverage_of_if_else.rs:5:8: 5:12:
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">3⦊</span>if </span><span class="code even" style="--layer: 4" title="bb0: ../instrument-coverage/coverage_of_if_else.rs:5:8: 5:12:
|
||||
4:9-4:22: StorageLive: StorageLive(_1)
|
||||
4:25-4:26: Assign: _1 = const 0_i32
|
||||
4:9-4:22: FakeRead: FakeRead(ForLet, _1)
|
||||
|
@ -75,25 +75,29 @@
|
|||
5:8-5:12: StorageLive: StorageLive(_3)
|
||||
5:8-5:12: Assign: _3 = const true
|
||||
5:8-5:12: FakeRead: FakeRead(ForMatchedPlace, _3)
|
||||
5:5-7:6: SwitchInt: switchInt(_3) -> [false: bb3, otherwise: bb2]"><span class="annotation">@0:</span> true</span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: SwitchInt: switchInt(_3) -> [false: bb3, otherwise: bb2]"><span class="annotation">0⦊</span>true<span class="annotation">⦉0</span></span><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">@3:</span> {</span></span>
|
||||
5:5-7:6: Goto: goto -> bb5"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"> countdown = 10;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"> }</span><span class="code" style="--layer: 0"></span></span>
|
||||
5:5-7:6: Goto: goto -> bb5"> }<span class="annotation">⦉3</span></span><span class="code even" style="--layer: 2" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
6:9-6:23: Assign: _1 = const 10_i32
|
||||
5:13-7:6: Assign: _2 = const ()
|
||||
5:5-7:6: Goto: goto -> bb5"><span class="annotation">⦉4</span></span><span><span class="code even" style="--layer: 1" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6:
|
||||
5:5-7:6: FalseEdge: falseEdge -> [real: bb4, imaginary: bb3]"><span class="annotation">⦉2</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: FalseEdge: falseEdge -> [real: bb8, imaginary: bb7]"><span class="annotation">@6</span></span></span><span class="code even" style="--layer: 2" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: FalseEdge: falseEdge -> [real: bb8, imaginary: bb7]"><span class="annotation">6⦊</span></span></span><span class="code even" style="--layer: 2" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
10:9-10:23: Assign: _1 = move (_7.0: i32)
|
||||
9:22-11:6: Assign: _4 = const ()
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@9</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">9⦊</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@25:</span> if </span><span class="code even" style="--layer: 4" title="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:8: 9:21:
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">25⦊</span>if </span><span class="code even" style="--layer: 4" title="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:8: 9:21:
|
||||
7:5-7:6: StorageDead: StorageDead(_3)
|
||||
7:5-7:6: StorageDead: StorageDead(_2)
|
||||
9:5-18:6: StorageLive: StorageLive(_4)
|
||||
|
@ -103,61 +107,61 @@
|
|||
9:8-9:21: Assign: _5 = Gt(move _6, const 7_i32)
|
||||
9:20-9:21: StorageDead: StorageDead(_6)
|
||||
9:8-9:21: FakeRead: FakeRead(ForMatchedPlace, _5)
|
||||
9:5-18:6: SwitchInt: switchInt(_5) -> [false: bb7, otherwise: bb6]"><span class="annotation">@5:</span> countdown > 7</span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: SwitchInt: switchInt(_5) -> [false: bb7, otherwise: bb6]"><span class="annotation">5⦊</span>countdown > 7<span class="annotation">⦉5</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@25:</span> {</span></span>
|
||||
9:5-18:6: Goto: goto -> bb28"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"> </span><span class="code odd" style="--layer: 4" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23:
|
||||
10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32)
|
||||
10:9-10:23: Assert: assert(!move (_7.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 4_i32) -> [success: bb9, unwind: bb1]"><span class="annotation">@8:</span> countdown -= 4</span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
10:9-10:23: Assert: assert(!move (_7.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 4_i32) -> [success: bb9, unwind: bb1]"><span class="annotation">8⦊</span>countdown -= 4<span class="annotation">⦉8</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">@25:</span> ;</span></span>
|
||||
9:5-18:6: Goto: goto -> bb28">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"> } else </span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">@10:</span> if </span><span class="code even" style="--layer: 5" title="bb7: ../instrument-coverage/coverage_of_if_else.rs:11:15: 11:28:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">10⦊</span>if </span><span class="code even" style="--layer: 5" title="bb7: ../instrument-coverage/coverage_of_if_else.rs:11:15: 11:28:
|
||||
11:15-11:28: StorageLive: StorageLive(_8)
|
||||
11:15-11:24: StorageLive: StorageLive(_9)
|
||||
11:15-11:24: Assign: _9 = _1
|
||||
11:15-11:28: Assign: _8 = Gt(move _9, const 2_i32)
|
||||
11:27-11:28: StorageDead: StorageDead(_9)
|
||||
11:15-11:28: FakeRead: FakeRead(ForMatchedPlace, _8)
|
||||
11:12-18:6: SwitchInt: switchInt(_8) -> [false: bb11, otherwise: bb10]"><span class="annotation">@7:</span> countdown > 2</span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">@10:</span> {</span></span>
|
||||
11:12-18:6: SwitchInt: switchInt(_8) -> [false: bb11, otherwise: bb10]"><span class="annotation">7⦊</span>countdown > 2<span class="annotation">⦉7</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> </span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">@22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">22⦊</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
13:13-13:26: Assign: _1 = const 0_i32
|
||||
12:61-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">@23</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">@21:</span> if </span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">23⦊</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">21⦊</span>if </span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const false
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">@14</span></span><span class="code even" style="--layer: 9" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">14⦊</span></span><span class="code even" style="--layer: 9" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:46-12:60: StorageLive: StorageLive(_17)
|
||||
12:46-12:55: StorageLive: StorageLive(_18)
|
||||
12:46-12:55: Assign: _18 = _1
|
||||
12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32)
|
||||
12:59-12:60: StorageDead: StorageDead(_18)
|
||||
12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb14, otherwise: bb13]"><span class="annotation">@15</span></span><span class="code even" style="--layer: 10" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb14, otherwise: bb13]"><span class="annotation">15⦊</span></span><span class="code even" style="--layer: 10" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:59-12:60: StorageDead: StorageDead(_17)
|
||||
12:59-12:60: StorageDead: StorageDead(_12)
|
||||
12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11)
|
||||
12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb22, otherwise: bb21]"><span class="annotation">@16</span></span><span class="code even" style="--layer: 11" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb22, otherwise: bb21]"><span class="annotation">16⦊</span></span><span class="code even" style="--layer: 11" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const true
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">@13</span></span><span class="code even" style="--layer: 12" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">13⦊</span></span><span class="code even" style="--layer: 12" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:41-12:42: StorageDead: StorageDead(_15)
|
||||
12:41-12:42: StorageDead: StorageDead(_13)
|
||||
12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb15, otherwise: bb13]"><span class="annotation">@20</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb15, otherwise: bb13]"><span class="annotation">20⦊</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: StorageLive: StorageLive(_10)
|
||||
12:12-12:60: StorageLive: StorageLive(_11)
|
||||
12:12-12:42: StorageLive: StorageLive(_12)
|
||||
|
@ -166,17 +170,25 @@
|
|||
12:12-12:21: Assign: _14 = _1
|
||||
12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32)
|
||||
12:24-12:25: StorageDead: StorageDead(_14)
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"><span class="annotation">@12</span></span><span class="code even" style="--layer: 14" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"><span class="annotation">12⦊</span></span><span class="code even" style="--layer: 14" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Assign: _12 = const false
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">@18</span></span><span class="code even" style="--layer: 15" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">18⦊</span></span><span class="code even" style="--layer: 15" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:29-12:42: StorageLive: StorageLive(_15)
|
||||
12:29-12:38: StorageLive: StorageLive(_16)
|
||||
12:29-12:38: Assign: _16 = _1
|
||||
12:29-12:42: Assign: _15 = Gt(move _16, const 5_i32)
|
||||
12:41-12:42: StorageDead: StorageDead(_16)
|
||||
12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb18, otherwise: bb17]"><span class="annotation">@19</span></span><span class="code even" style="--layer: 16" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb18, otherwise: bb17]"><span class="annotation">19⦊</span></span><span class="code even" style="--layer: 16" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Assign: _12 = const true
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">@17:</span> countdown < 1 || countdown > 5</span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">17⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉17</span></span><span class="code even" style="--layer: 15" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:29-12:42: StorageLive: StorageLive(_15)
|
||||
12:29-12:38: StorageLive: StorageLive(_16)
|
||||
12:29-12:38: Assign: _16 = _1
|
||||
12:29-12:42: Assign: _15 = Gt(move _16, const 5_i32)
|
||||
12:41-12:42: StorageDead: StorageDead(_16)
|
||||
12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb18, otherwise: bb17]"><span class="annotation">⦉19</span></span><span class="code even" style="--layer: 14" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42:
|
||||
12:12-12:42: Assign: _12 = const false
|
||||
12:12-12:42: Goto: goto -> bb20"><span class="annotation">⦉18</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:9-14:10: StorageLive: StorageLive(_10)
|
||||
12:12-12:60: StorageLive: StorageLive(_11)
|
||||
12:12-12:42: StorageLive: StorageLive(_12)
|
||||
|
@ -185,8 +197,25 @@
|
|||
12:12-12:21: Assign: _14 = _1
|
||||
12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32)
|
||||
12:24-12:25: StorageDead: StorageDead(_14)
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"><span class="annotation">@12:</span> || countdown != 9</span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">@21:</span> {</span></span>
|
||||
12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb19, otherwise: bb17]"> || countdown != 9<span class="annotation">⦉12</span></span><span class="code even" style="--layer: 12" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:41-12:42: StorageDead: StorageDead(_15)
|
||||
12:41-12:42: StorageDead: StorageDead(_13)
|
||||
12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb15, otherwise: bb13]"><span class="annotation">⦉20</span></span><span class="code even" style="--layer: 11" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const true
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">⦉13</span></span><span class="code even" style="--layer: 10" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:59-12:60: StorageDead: StorageDead(_17)
|
||||
12:59-12:60: StorageDead: StorageDead(_12)
|
||||
12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11)
|
||||
12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb22, otherwise: bb21]"><span class="annotation">⦉16</span></span><span class="code even" style="--layer: 9" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:46-12:60: StorageLive: StorageLive(_17)
|
||||
12:46-12:55: StorageLive: StorageLive(_18)
|
||||
12:46-12:55: Assign: _18 = _1
|
||||
12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32)
|
||||
12:59-12:60: StorageDead: StorageDead(_18)
|
||||
12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb14, otherwise: bb13]"><span class="annotation">⦉15</span></span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60:
|
||||
12:12-12:60: Assign: _11 = const false
|
||||
12:12-12:60: Goto: goto -> bb16"><span class="annotation">⦉14</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"> countdown = 0;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
|
@ -194,32 +223,67 @@
|
|||
14:9-14:10: StorageDead: StorageDead(_11)
|
||||
14:9-14:10: StorageDead: StorageDead(_10)
|
||||
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"><span class="annotation">@24:</span> }</span></span>
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"><span class="annotation">24⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
13:13-13:26: Assign: _1 = const 0_i32
|
||||
12:61-14:10: Assign: _10 = const ()
|
||||
12:9-14:10: Goto: goto -> bb24"><span class="annotation">⦉23</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">⦉21</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
|
||||
12:9-14:10: FalseEdge: falseEdge -> [real: bb23, imaginary: bb22]"><span class="annotation">⦉21</span></span><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23:
|
||||
14:9-14:10: StorageDead: StorageDead(_11)
|
||||
14:9-14:10: StorageDead: StorageDead(_10)
|
||||
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"></span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23:
|
||||
14:9-14:10: StorageDead: StorageDead(_11)
|
||||
14:9-14:10: StorageDead: StorageDead(_10)
|
||||
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"> countdown -= 5</span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">@10:</span> ;</span></span>
|
||||
15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}` which would overflow", _1, const 5_i32) -> [success: bb25, unwind: bb1]"> countdown -= 5<span class="annotation">⦉24</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> } else {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"> </span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">@27</span></span><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">27⦊</span></span><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Assign: _0 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
17:9-17:15: Goto: goto -> bb27"><span class="annotation">@11:</span> return;</span></span>
|
||||
17:9-17:15: Goto: goto -> bb27"><span class="annotation">11⦊</span>return;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Assign: _0 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
17:9-17:15: Goto: goto -> bb27"> }</span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
17:9-17:15: Goto: goto -> bb27"> }<span class="annotation">⦉11</span></span><span><span class="code odd" style="--layer: 1" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
9:5-18:6: FalseEdge: falseEdge -> [real: bb8, imaginary: bb7]"><span class="annotation">⦉6</span></span></span><span class="code even" style="--layer: 2" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
10:9-10:23: Assign: _1 = move (_7.0: i32)
|
||||
9:22-11:6: Assign: _4 = const ()
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉9</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉25</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉25</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
|
||||
15:9-15:23: Assign: _1 = move (_19.0: i32)
|
||||
11:29-16:6: Assign: _4 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
9:5-18:6: Goto: goto -> bb28"><span class="annotation">⦉25</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">⦉10</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">⦉10</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
|
||||
11:12-18:6: FalseEdge: falseEdge -> [real: bb12, imaginary: bb11]"><span class="annotation">⦉10</span></span><span class="code even" style="--layer: 6" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:17:9: 18:6:
|
||||
17:9-17:15: Assign: _0 = const ()
|
||||
18:5-18:6: StorageDead: StorageDead(_8)
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
17:9-17:15: Goto: goto -> bb27"><span class="annotation">⦉11</span></span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">@27:</span> </span></span>
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
|
@ -230,11 +294,11 @@
|
|||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"> </span><span class="code odd" style="--layer: 6" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">@30</span></span><span class="code even" style="--layer: 7" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">30⦊</span></span><span class="code even" style="--layer: 7" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
22:9-22:23: Assign: _21 = const 10_i32
|
||||
21:13-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">@31</span></span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"><span class="annotation">@29:</span> if </span><span class="code even" style="--layer: 9" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:8: 21:12:
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">31⦊</span></span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"><span class="annotation">29⦊</span>if </span><span class="code even" style="--layer: 9" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:8: 21:12:
|
||||
18:5-18:6: StorageDead: StorageDead(_5)
|
||||
18:5-18:6: StorageDead: StorageDead(_4)
|
||||
20:9-20:22: StorageLive: StorageLive(_21)
|
||||
|
@ -244,28 +308,33 @@
|
|||
21:8-21:12: StorageLive: StorageLive(_23)
|
||||
21:8-21:12: Assign: _23 = const true
|
||||
21:8-21:12: FakeRead: FakeRead(ForMatchedPlace, _23)
|
||||
21:5-23:6: SwitchInt: switchInt(_23) -> [false: bb30, otherwise: bb29]"><span class="annotation">@28:</span> true</span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"><span class="annotation">@29:</span> {</span></span>
|
||||
21:5-23:6: SwitchInt: switchInt(_23) -> [false: bb30, otherwise: bb29]"><span class="annotation">28⦊</span>true<span class="annotation">⦉28</span></span><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> countdown = 10;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> }</span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
21:5-23:6: FalseEdge: falseEdge -> [real: bb31, imaginary: bb30]"> }<span class="annotation">⦉29</span></span><span class="code even" style="--layer: 7" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
22:9-22:23: Assign: _21 = const 10_i32
|
||||
21:13-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">⦉31</span></span><span class="code odd" style="--layer: 6" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6:
|
||||
21:5-23:6: Assign: _22 = const ()
|
||||
21:5-23:6: Goto: goto -> bb32"><span class="annotation">⦉30</span></span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">@27:</span> </span></span>
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"> </span><span class="code even" style="--layer: 6" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: FalseEdge: falseEdge -> [real: bb35, imaginary: bb34]"><span class="annotation">@33</span></span><span class="code even" style="--layer: 7" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: FalseEdge: falseEdge -> [real: bb35, imaginary: bb34]"><span class="annotation">33⦊</span></span><span class="code even" style="--layer: 7" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
31:9-31:23: Assign: _21 = move (_39.0: i32)
|
||||
27:29-32:6: Assign: _24 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@52</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">52⦊</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@36:</span> if </span><span class="code even" style="--layer: 9" title="bb32: ../instrument-coverage/coverage_of_if_else.rs:25:8: 25:21:
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">36⦊</span>if </span><span class="code even" style="--layer: 9" title="bb32: ../instrument-coverage/coverage_of_if_else.rs:25:8: 25:21:
|
||||
23:5-23:6: StorageDead: StorageDead(_23)
|
||||
23:5-23:6: StorageDead: StorageDead(_22)
|
||||
25:5-34:6: StorageLive: StorageLive(_24)
|
||||
|
@ -275,40 +344,40 @@
|
|||
25:8-25:21: Assign: _25 = Gt(move _26, const 7_i32)
|
||||
25:20-25:21: StorageDead: StorageDead(_26)
|
||||
25:8-25:21: FakeRead: FakeRead(ForMatchedPlace, _25)
|
||||
25:5-34:6: SwitchInt: switchInt(_25) -> [false: bb34, otherwise: bb33]"><span class="annotation">@32:</span> countdown > 7</span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: SwitchInt: switchInt(_25) -> [false: bb34, otherwise: bb33]"><span class="annotation">32⦊</span>countdown > 7<span class="annotation">⦉32</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@36:</span> {</span></span>
|
||||
25:5-34:6: Goto: goto -> bb53"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"> </span><span class="code odd" style="--layer: 9" title="bb35: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23:
|
||||
26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32)
|
||||
26:9-26:23: Assert: assert(!move (_27.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 4_i32) -> [success: bb36, unwind: bb1]"><span class="annotation">@35:</span> countdown -= 4</span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assert: assert(!move (_27.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 4_i32) -> [success: bb36, unwind: bb1]"><span class="annotation">35⦊</span>countdown -= 4<span class="annotation">⦉35</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">@36:</span> ;</span></span>
|
||||
25:5-34:6: Goto: goto -> bb53">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"> } else </span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">@37:</span> if </span><span class="code even" style="--layer: 10" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:15: 27:28:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">37⦊</span>if </span><span class="code even" style="--layer: 10" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:15: 27:28:
|
||||
27:15-27:28: StorageLive: StorageLive(_28)
|
||||
27:15-27:24: StorageLive: StorageLive(_29)
|
||||
27:15-27:24: Assign: _29 = _21
|
||||
27:15-27:28: Assign: _28 = Gt(move _29, const 2_i32)
|
||||
27:27-27:28: StorageDead: StorageDead(_29)
|
||||
27:15-27:28: FakeRead: FakeRead(ForMatchedPlace, _28)
|
||||
27:12-34:6: SwitchInt: switchInt(_28) -> [false: bb38, otherwise: bb37]"><span class="annotation">@34:</span> countdown > 2</span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">@37:</span> {</span></span>
|
||||
27:12-34:6: SwitchInt: switchInt(_28) -> [false: bb38, otherwise: bb37]"><span class="annotation">34⦊</span>countdown > 2<span class="annotation">⦉34</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"> </span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: FalseEdge: falseEdge -> [real: bb50, imaginary: bb49]"><span class="annotation">@48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: FalseEdge: falseEdge -> [real: bb50, imaginary: bb49]"><span class="annotation">48⦊</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
29:13-29:26: Assign: _21 = const 0_i32
|
||||
28:61-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">@50</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">50⦊</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">@49:</span> if </span><span class="code even" style="--layer: 13" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">49⦊</span>if </span><span class="code even" style="--layer: 13" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: StorageLive: StorageLive(_30)
|
||||
28:12-28:60: StorageLive: StorageLive(_31)
|
||||
28:12-28:42: StorageLive: StorageLive(_32)
|
||||
|
@ -317,38 +386,70 @@
|
|||
28:12-28:21: Assign: _34 = _21
|
||||
28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32)
|
||||
28:24-28:25: StorageDead: StorageDead(_34)
|
||||
28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb46, otherwise: bb44]"><span class="annotation">@39</span></span><span class="code even" style="--layer: 14" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb46, otherwise: bb44]"><span class="annotation">39⦊</span></span><span class="code even" style="--layer: 14" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:41-28:42: StorageDead: StorageDead(_35)
|
||||
28:41-28:42: StorageDead: StorageDead(_33)
|
||||
28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb42, otherwise: bb40]"><span class="annotation">@47</span></span><span class="code even" style="--layer: 15" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb42, otherwise: bb40]"><span class="annotation">47⦊</span></span><span class="code even" style="--layer: 15" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const true
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">@40</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">40⦊</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:59-28:60: StorageDead: StorageDead(_37)
|
||||
28:59-28:60: StorageDead: StorageDead(_32)
|
||||
28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31)
|
||||
28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb49, otherwise: bb48]"><span class="annotation">@43</span></span><span class="code even" style="--layer: 17" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb49, otherwise: bb48]"><span class="annotation">43⦊</span></span><span class="code even" style="--layer: 17" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:46-28:60: StorageLive: StorageLive(_37)
|
||||
28:46-28:55: StorageLive: StorageLive(_38)
|
||||
28:46-28:55: Assign: _38 = _21
|
||||
28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32)
|
||||
28:59-28:60: StorageDead: StorageDead(_38)
|
||||
28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb41, otherwise: bb40]"><span class="annotation">@42</span></span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb41, otherwise: bb40]"><span class="annotation">42⦊</span></span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const false
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">@41</span></span><span class="code even" style="--layer: 19" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">41⦊</span></span><span class="code even" style="--layer: 19" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:29-28:42: StorageLive: StorageLive(_35)
|
||||
28:29-28:38: StorageLive: StorageLive(_36)
|
||||
28:29-28:38: Assign: _36 = _21
|
||||
28:29-28:42: Assign: _35 = Gt(move _36, const 5_i32)
|
||||
28:41-28:42: StorageDead: StorageDead(_36)
|
||||
28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb45, otherwise: bb44]"><span class="annotation">@46</span></span><span class="code even" style="--layer: 20" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb45, otherwise: bb44]"><span class="annotation">46⦊</span></span><span class="code even" style="--layer: 20" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Assign: _32 = const false
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">@45</span></span><span class="code even" style="--layer: 21" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">45⦊</span></span><span class="code even" style="--layer: 21" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Assign: _32 = const true
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">@44:</span> countdown < 1 || countdown > 5</span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">44⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉44</span></span><span class="code even" style="--layer: 20" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:12-28:42: Assign: _32 = const false
|
||||
28:12-28:42: Goto: goto -> bb47"><span class="annotation">⦉45</span></span><span class="code even" style="--layer: 19" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42:
|
||||
28:29-28:42: StorageLive: StorageLive(_35)
|
||||
28:29-28:38: StorageLive: StorageLive(_36)
|
||||
28:29-28:38: Assign: _36 = _21
|
||||
28:29-28:42: Assign: _35 = Gt(move _36, const 5_i32)
|
||||
28:41-28:42: StorageDead: StorageDead(_36)
|
||||
28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb45, otherwise: bb44]"><span class="annotation">⦉46</span></span><span class="code even" style="--layer: 18" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const false
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">@41:</span> || countdown != 9</span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:12-28:60: Goto: goto -> bb43"> || countdown != 9<span class="annotation">⦉41</span></span><span class="code even" style="--layer: 17" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:46-28:60: StorageLive: StorageLive(_37)
|
||||
28:46-28:55: StorageLive: StorageLive(_38)
|
||||
28:46-28:55: Assign: _38 = _21
|
||||
28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32)
|
||||
28:59-28:60: StorageDead: StorageDead(_38)
|
||||
28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb41, otherwise: bb40]"><span class="annotation">⦉42</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:59-28:60: StorageDead: StorageDead(_37)
|
||||
28:59-28:60: StorageDead: StorageDead(_32)
|
||||
28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31)
|
||||
28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb49, otherwise: bb48]"><span class="annotation">⦉43</span></span><span class="code even" style="--layer: 15" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:12-28:60: Assign: _31 = const true
|
||||
28:12-28:60: Goto: goto -> bb43"><span class="annotation">⦉40</span></span><span class="code even" style="--layer: 14" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:41-28:42: StorageDead: StorageDead(_35)
|
||||
28:41-28:42: StorageDead: StorageDead(_33)
|
||||
28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb42, otherwise: bb40]"><span class="annotation">⦉47</span></span><span class="code even" style="--layer: 13" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60:
|
||||
28:9-30:10: StorageLive: StorageLive(_30)
|
||||
28:12-28:60: StorageLive: StorageLive(_31)
|
||||
28:12-28:42: StorageLive: StorageLive(_32)
|
||||
28:12-28:25: StorageLive: StorageLive(_33)
|
||||
28:12-28:21: StorageLive: StorageLive(_34)
|
||||
28:12-28:21: Assign: _34 = _21
|
||||
28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32)
|
||||
28:24-28:25: StorageDead: StorageDead(_34)
|
||||
28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb46, otherwise: bb44]"><span class="annotation">⦉39</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">@49:</span> {</span></span>
|
||||
28:9-30:10: Goto: goto -> bb51"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"> countdown = 0;</span></span>
|
||||
|
@ -358,13 +459,25 @@
|
|||
30:9-30:10: StorageDead: StorageDead(_31)
|
||||
30:9-30:10: StorageDead: StorageDead(_30)
|
||||
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"><span class="annotation">@51:</span> }</span></span>
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"><span class="annotation">51⦊</span>}</span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: FalseEdge: falseEdge -> [real: bb50, imaginary: bb49]"><span class="annotation">⦉48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
29:13-29:26: Assign: _21 = const 0_i32
|
||||
28:61-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">⦉50</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">⦉49</span></span><span class="code even" style="--layer: 12" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
|
||||
28:9-30:10: Assign: _30 = const ()
|
||||
28:9-30:10: Goto: goto -> bb51"><span class="annotation">⦉49</span></span><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23:
|
||||
30:9-30:10: StorageDead: StorageDead(_31)
|
||||
30:9-30:10: StorageDead: StorageDead(_30)
|
||||
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"></span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23:
|
||||
30:9-30:10: StorageDead: StorageDead(_31)
|
||||
30:9-30:10: StorageDead: StorageDead(_30)
|
||||
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"> countdown -= 5</span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">@37:</span> ;</span></span>
|
||||
31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}` which would overflow", _21, const 5_i32) -> [success: bb52, unwind: bb1]"> countdown -= 5<span class="annotation">⦉51</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"> } else {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
|
@ -374,14 +487,37 @@
|
|||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">@38:</span> return;</span></span>
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">38⦊</span>return;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"> }</span></span>
|
||||
33:9-33:15: Goto: goto -> bb27"> }</span><span class="code even" style="--layer: 6" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
25:5-34:6: FalseEdge: falseEdge -> [real: bb35, imaginary: bb34]"><span class="annotation">⦉33</span></span><span class="code even" style="--layer: 7" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
31:9-31:23: Assign: _21 = move (_39.0: i32)
|
||||
27:29-32:6: Assign: _24 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉52</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
|
||||
26:9-26:23: Assign: _21 = move (_27.0: i32)
|
||||
25:22-27:6: Assign: _24 = const ()
|
||||
25:5-34:6: Goto: goto -> bb53"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">⦉37</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">⦉37</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
|
||||
27:12-34:6: FalseEdge: falseEdge -> [real: bb39, imaginary: bb38]"><span class="annotation">⦉37</span></span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
|
@ -405,10 +541,10 @@
|
|||
33:9-33:15: Goto: goto -> bb27"> </span><span class="code even" style="--layer: 11" title="bb56: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
38:9-38:23: Assign: _41 = const 10_i32
|
||||
37:13-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">@56</span></span><span class="code even" style="--layer: 12" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: FalseEdge: falseEdge -> [real: bb56, imaginary: bb55]"><span class="annotation">@54</span></span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">56⦊</span></span><span class="code even" style="--layer: 12" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: FalseEdge: falseEdge -> [real: bb56, imaginary: bb55]"><span class="annotation">54⦊</span></span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">@55:</span> if </span><span class="code even" style="--layer: 14" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:8: 37:12:
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">55⦊</span>if </span><span class="code even" style="--layer: 14" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:8: 37:12:
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
36:9-36:22: StorageLive: StorageLive(_41)
|
||||
|
@ -418,21 +554,25 @@
|
|||
37:8-37:12: StorageLive: StorageLive(_43)
|
||||
37:8-37:12: Assign: _43 = const true
|
||||
37:8-37:12: FakeRead: FakeRead(ForMatchedPlace, _43)
|
||||
37:5-39:6: SwitchInt: switchInt(_43) -> [false: bb55, otherwise: bb54]"><span class="annotation">@53:</span> true</span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: SwitchInt: switchInt(_43) -> [false: bb55, otherwise: bb54]"><span class="annotation">53⦊</span>true<span class="annotation">⦉53</span></span><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">@55:</span> {</span></span>
|
||||
37:5-39:6: Goto: goto -> bb57"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"> countdown = 10;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"> }</span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
37:5-39:6: Goto: goto -> bb57"> }<span class="annotation">⦉55</span></span><span class="code even" style="--layer: 12" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
37:5-39:6: FalseEdge: falseEdge -> [real: bb56, imaginary: bb55]"><span class="annotation">⦉54</span></span><span class="code even" style="--layer: 11" title="bb56: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6:
|
||||
38:9-38:23: Assign: _41 = const 10_i32
|
||||
37:13-39:6: Assign: _42 = const ()
|
||||
37:5-39:6: Goto: goto -> bb57"><span class="annotation">⦉56</span></span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">@38:</span> </span></span>
|
||||
33:9-33:15: Goto: goto -> bb27"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
|
@ -449,12 +589,12 @@
|
|||
33:9-33:15: Goto: goto -> bb27"> </span><span class="code odd" style="--layer: 11" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
42:9-42:23: Assign: _41 = move (_46.0: i32)
|
||||
41:22-43:6: Assign: _0 = const ()
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@61</span></span><span class="code even" style="--layer: 12" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: FalseEdge: falseEdge -> [real: bb60, imaginary: bb59]"><span class="annotation">@58</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">61⦊</span></span><span class="code even" style="--layer: 12" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: FalseEdge: falseEdge -> [real: bb60, imaginary: bb59]"><span class="annotation">58⦊</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@77:</span> if </span><span class="code even" style="--layer: 14" title="bb57: ../instrument-coverage/coverage_of_if_else.rs:41:8: 41:21:
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">77⦊</span>if </span><span class="code even" style="--layer: 14" title="bb57: ../instrument-coverage/coverage_of_if_else.rs:41:8: 41:21:
|
||||
39:5-39:6: StorageDead: StorageDead(_43)
|
||||
39:5-39:6: StorageDead: StorageDead(_42)
|
||||
41:8-41:21: StorageLive: StorageLive(_44)
|
||||
|
@ -463,59 +603,59 @@
|
|||
41:8-41:21: Assign: _44 = Gt(move _45, const 7_i32)
|
||||
41:20-41:21: StorageDead: StorageDead(_45)
|
||||
41:8-41:21: FakeRead: FakeRead(ForMatchedPlace, _44)
|
||||
41:5-50:6: SwitchInt: switchInt(_44) -> [false: bb59, otherwise: bb58]"><span class="annotation">@57:</span> countdown > 7</span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: SwitchInt: switchInt(_44) -> [false: bb59, otherwise: bb58]"><span class="annotation">57⦊</span>countdown > 7<span class="annotation">⦉57</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@77:</span> {</span></span>
|
||||
41:5-50:6: Goto: goto -> bb78"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"> </span><span class="code odd" style="--layer: 14" title="bb60: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23:
|
||||
42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32)
|
||||
42:9-42:23: Assert: assert(!move (_46.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 4_i32) -> [success: bb61, unwind: bb1]"><span class="annotation">@60:</span> countdown -= 4</span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
42:9-42:23: Assert: assert(!move (_46.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 4_i32) -> [success: bb61, unwind: bb1]"><span class="annotation">60⦊</span>countdown -= 4<span class="annotation">⦉60</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">@77:</span> ;</span></span>
|
||||
41:5-50:6: Goto: goto -> bb78">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"> } else </span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">@62:</span> if </span><span class="code even" style="--layer: 15" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:15: 43:28:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">62⦊</span>if </span><span class="code even" style="--layer: 15" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:15: 43:28:
|
||||
43:15-43:28: StorageLive: StorageLive(_47)
|
||||
43:15-43:24: StorageLive: StorageLive(_48)
|
||||
43:15-43:24: Assign: _48 = _41
|
||||
43:15-43:28: Assign: _47 = Gt(move _48, const 2_i32)
|
||||
43:27-43:28: StorageDead: StorageDead(_48)
|
||||
43:15-43:28: FakeRead: FakeRead(ForMatchedPlace, _47)
|
||||
43:12-50:6: SwitchInt: switchInt(_47) -> [false: bb63, otherwise: bb62]"><span class="annotation">@59:</span> countdown > 2</span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">@62:</span> {</span></span>
|
||||
43:12-50:6: SwitchInt: switchInt(_47) -> [false: bb63, otherwise: bb62]"><span class="annotation">59⦊</span>countdown > 2<span class="annotation">⦉59</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"> </span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
45:13-45:26: Assign: _41 = const 0_i32
|
||||
44:61-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">@75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">75⦊</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">@74</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">@73:</span> if </span><span class="code even" style="--layer: 18" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">74⦊</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">73⦊</span>if </span><span class="code even" style="--layer: 18" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:46-44:60: StorageLive: StorageLive(_56)
|
||||
44:46-44:55: StorageLive: StorageLive(_57)
|
||||
44:46-44:55: Assign: _57 = _41
|
||||
44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32)
|
||||
44:59-44:60: StorageDead: StorageDead(_57)
|
||||
44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb66, otherwise: bb65]"><span class="annotation">@67</span></span><span class="code even" style="--layer: 19" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb66, otherwise: bb65]"><span class="annotation">67⦊</span></span><span class="code even" style="--layer: 19" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:59-44:60: StorageDead: StorageDead(_56)
|
||||
44:59-44:60: StorageDead: StorageDead(_51)
|
||||
44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50)
|
||||
44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb74, otherwise: bb73]"><span class="annotation">@68</span></span><span class="code even" style="--layer: 20" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb74, otherwise: bb73]"><span class="annotation">68⦊</span></span><span class="code even" style="--layer: 20" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const true
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">@65</span></span><span class="code even" style="--layer: 21" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">65⦊</span></span><span class="code even" style="--layer: 21" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:41-44:42: StorageDead: StorageDead(_54)
|
||||
44:41-44:42: StorageDead: StorageDead(_52)
|
||||
44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb67, otherwise: bb65]"><span class="annotation">@72</span></span><span class="code even" style="--layer: 22" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb67, otherwise: bb65]"><span class="annotation">72⦊</span></span><span class="code even" style="--layer: 22" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: StorageLive: StorageLive(_49)
|
||||
44:12-44:60: StorageLive: StorageLive(_50)
|
||||
44:12-44:42: StorageLive: StorageLive(_51)
|
||||
|
@ -524,22 +664,54 @@
|
|||
44:12-44:21: Assign: _53 = _41
|
||||
44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32)
|
||||
44:24-44:25: StorageDead: StorageDead(_53)
|
||||
44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb71, otherwise: bb69]"><span class="annotation">@64</span></span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb71, otherwise: bb69]"><span class="annotation">64⦊</span></span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const false
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">@66</span></span><span class="code even" style="--layer: 24" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">66⦊</span></span><span class="code even" style="--layer: 24" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Assign: _51 = const true
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">@69</span></span><span class="code even" style="--layer: 25" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">69⦊</span></span><span class="code even" style="--layer: 25" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:29-44:42: StorageLive: StorageLive(_54)
|
||||
44:29-44:38: StorageLive: StorageLive(_55)
|
||||
44:29-44:38: Assign: _55 = _41
|
||||
44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32)
|
||||
44:41-44:42: StorageDead: StorageDead(_55)
|
||||
44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb70, otherwise: bb69]"><span class="annotation">@71</span></span><span class="code even" style="--layer: 26" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb70, otherwise: bb69]"><span class="annotation">71⦊</span></span><span class="code even" style="--layer: 26" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Assign: _51 = const false
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">@70:</span> countdown < 1 || countdown > 5</span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">70⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉70</span></span><span class="code even" style="--layer: 25" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:29-44:42: StorageLive: StorageLive(_54)
|
||||
44:29-44:38: StorageLive: StorageLive(_55)
|
||||
44:29-44:38: Assign: _55 = _41
|
||||
44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32)
|
||||
44:41-44:42: StorageDead: StorageDead(_55)
|
||||
44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb70, otherwise: bb69]"><span class="annotation">⦉71</span></span><span class="code even" style="--layer: 24" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42:
|
||||
44:12-44:42: Assign: _51 = const true
|
||||
44:12-44:42: Goto: goto -> bb72"><span class="annotation">⦉69</span></span><span class="code even" style="--layer: 23" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const false
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">@66:</span> || countdown != 9</span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">@73:</span> {</span></span>
|
||||
44:12-44:60: Goto: goto -> bb68"> || countdown != 9<span class="annotation">⦉66</span></span><span class="code even" style="--layer: 22" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:9-46:10: StorageLive: StorageLive(_49)
|
||||
44:12-44:60: StorageLive: StorageLive(_50)
|
||||
44:12-44:42: StorageLive: StorageLive(_51)
|
||||
44:12-44:25: StorageLive: StorageLive(_52)
|
||||
44:12-44:21: StorageLive: StorageLive(_53)
|
||||
44:12-44:21: Assign: _53 = _41
|
||||
44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32)
|
||||
44:24-44:25: StorageDead: StorageDead(_53)
|
||||
44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb71, otherwise: bb69]"><span class="annotation">⦉64</span></span><span class="code even" style="--layer: 21" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:41-44:42: StorageDead: StorageDead(_54)
|
||||
44:41-44:42: StorageDead: StorageDead(_52)
|
||||
44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb67, otherwise: bb65]"><span class="annotation">⦉72</span></span><span class="code even" style="--layer: 20" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:12-44:60: Assign: _50 = const true
|
||||
44:12-44:60: Goto: goto -> bb68"><span class="annotation">⦉65</span></span><span class="code even" style="--layer: 19" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:59-44:60: StorageDead: StorageDead(_56)
|
||||
44:59-44:60: StorageDead: StorageDead(_51)
|
||||
44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50)
|
||||
44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb74, otherwise: bb73]"><span class="annotation">⦉68</span></span><span class="code even" style="--layer: 18" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60:
|
||||
44:46-44:60: StorageLive: StorageLive(_56)
|
||||
44:46-44:55: StorageLive: StorageLive(_57)
|
||||
44:46-44:55: Assign: _57 = _41
|
||||
44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32)
|
||||
44:59-44:60: StorageDead: StorageDead(_57)
|
||||
44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb66, otherwise: bb65]"><span class="annotation">⦉67</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"> {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"> countdown = 0;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
|
@ -547,13 +719,24 @@
|
|||
46:9-46:10: StorageDead: StorageDead(_50)
|
||||
46:9-46:10: StorageDead: StorageDead(_49)
|
||||
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"><span class="annotation">@76:</span> }</span></span>
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"><span class="annotation">76⦊</span>}</span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
45:13-45:26: Assign: _41 = const 0_i32
|
||||
44:61-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">⦉75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: Assign: _49 = const ()
|
||||
44:9-46:10: Goto: goto -> bb76"><span class="annotation">⦉74</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">⦉73</span></span><span class="code even" style="--layer: 17" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
|
||||
44:9-46:10: FalseEdge: falseEdge -> [real: bb75, imaginary: bb74]"><span class="annotation">⦉73</span></span><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23:
|
||||
46:9-46:10: StorageDead: StorageDead(_50)
|
||||
46:9-46:10: StorageDead: StorageDead(_49)
|
||||
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"></span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23:
|
||||
46:9-46:10: StorageDead: StorageDead(_50)
|
||||
46:9-46:10: StorageDead: StorageDead(_49)
|
||||
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"> countdown -= 5</span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">@62:</span> ;</span></span>
|
||||
47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}` which would overflow", _41, const 5_i32) -> [success: bb77, unwind: bb1]"> countdown -= 5<span class="annotation">⦉76</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]">;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"> } else {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
|
@ -564,7 +747,7 @@
|
|||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
49:9-49:15: Goto: goto -> bb26"><span class="annotation">@63:</span> return;</span></span>
|
||||
49:9-49:15: Goto: goto -> bb26"><span class="annotation">63⦊</span>return;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 15" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:49:9: 51:2:
|
||||
49:9-49:15: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
|
@ -572,12 +755,54 @@
|
|||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
49:9-49:15: Goto: goto -> bb26"> }</span><span class="code even" style="--layer: 16" title="bb78: ../instrument-coverage/coverage_of_if_else.rs:51:1: 51:2:
|
||||
49:9-49:15: Goto: goto -> bb26"> }</span><span class="code odd" style="--layer: 11" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
42:9-42:23: Assign: _41 = move (_46.0: i32)
|
||||
41:22-43:6: Assign: _0 = const ()
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉61</span></span><span class="code even" style="--layer: 12" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
41:5-50:6: FalseEdge: falseEdge -> [real: bb60, imaginary: bb59]"><span class="annotation">⦉58</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉77</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉77</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
|
||||
47:9-47:23: Assign: _41 = move (_58.0: i32)
|
||||
43:29-48:6: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
41:5-50:6: Goto: goto -> bb78"><span class="annotation">⦉77</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
|
||||
43:12-50:6: FalseEdge: falseEdge -> [real: bb64, imaginary: bb63]"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 15" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:49:9: 51:2:
|
||||
49:9-49:15: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
51:1-51:2: StorageDead: StorageDead(_41)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
51:2-51:2: Goto: goto -> bb26"><span class="annotation">@78:</span> }</span><span><span class="code even" style="--layer: 1" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:51:2: 51:2:
|
||||
51:2-51:2: Return: return"><span class="annotation">@26</span></span></span></span></div>
|
||||
49:9-49:15: Goto: goto -> bb26"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 16" title="bb78: ../instrument-coverage/coverage_of_if_else.rs:51:1: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_41)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
51:2-51:2: Goto: goto -> bb26"><span class="annotation">78⦊</span>}<span class="annotation">⦉78</span></span><span class="code even" style="--layer: 15" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:49:9: 51:2:
|
||||
49:9-49:15: Assign: _0 = const ()
|
||||
50:5-50:6: StorageDead: StorageDead(_47)
|
||||
51:1-51:2: StorageDead: StorageDead(_41)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
51:1-51:2: StorageDead: StorageDead(_44)
|
||||
49:9-49:15: Goto: goto -> bb26"><span class="annotation">⦉63</span></span><span class="code even" style="--layer: 10" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:33:9: 51:2:
|
||||
33:9-33:15: Assign: _0 = const ()
|
||||
34:5-34:6: StorageDead: StorageDead(_28)
|
||||
34:5-34:6: StorageDead: StorageDead(_25)
|
||||
34:5-34:6: StorageDead: StorageDead(_24)
|
||||
51:1-51:2: StorageDead: StorageDead(_21)
|
||||
33:9-33:15: Goto: goto -> bb27"><span class="annotation">⦉38</span></span><span class="code even" style="--layer: 5" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:17:9: 51:2:
|
||||
51:1-51:2: StorageDead: StorageDead(_1)
|
||||
17:9-17:15: Goto: goto -> bb26"><span class="annotation">⦉27</span></span><span><span class="code even" style="--layer: 1" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:51:2: 51:2:
|
||||
51:2-51:2: Return: return"><span class="annotation">26⦊</span>‸<span class="annotation">⦉26</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#[no_implicit_prelude]
|
||||
mod m {
|
||||
#[attr] //~ ERROR cannot find attribute `attr` in this scope
|
||||
#[tool::attr] //~ ERROR failed to resolve: use of undeclared type or module `tool`
|
||||
#[tool::attr] //~ ERROR failed to resolve: use of undeclared crate or module `tool`
|
||||
fn check() {}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `tool`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `tool`
|
||||
--> $DIR/register-attr-tool-prelude.rs:10:7
|
||||
|
|
||||
LL | #[tool::attr]
|
||||
| ^^^^ use of undeclared type or module `tool`
|
||||
| ^^^^ use of undeclared crate or module `tool`
|
||||
|
||||
error: cannot find attribute `attr` in this scope
|
||||
--> $DIR/register-attr-tool-prelude.rs:9:7
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
fn main() {
|
||||
let foo = thing::len(Vec::new());
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `thing`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `thing`
|
||||
|
||||
let foo = foo::bar::baz();
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `foo`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `foo`
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `thing`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `thing`
|
||||
--> $DIR/bad-module.rs:2:15
|
||||
|
|
||||
LL | let foo = thing::len(Vec::new());
|
||||
| ^^^^^ use of undeclared type or module `thing`
|
||||
| ^^^^^ use of undeclared crate or module `thing`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `foo`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
||||
--> $DIR/bad-module.rs:5:15
|
||||
|
|
||||
LL | let foo = foo::bar::baz();
|
||||
| ^^^ use of undeclared type or module `foo`
|
||||
| ^^^ use of undeclared crate or module `foo`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `nope`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `nope`
|
||||
--> $DIR/conflicting-impl-with-err.rs:4:11
|
||||
|
|
||||
LL | impl From<nope::Thing> for Error {
|
||||
| ^^^^ use of undeclared type or module `nope`
|
||||
| ^^^^ use of undeclared crate or module `nope`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `nope`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `nope`
|
||||
--> $DIR/conflicting-impl-with-err.rs:5:16
|
||||
|
|
||||
LL | fn from(_: nope::Thing) -> Self {
|
||||
| ^^^^ use of undeclared type or module `nope`
|
||||
| ^^^^ use of undeclared crate or module `nope`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `HashMap`
|
||||
error[E0433]: failed to resolve: use of undeclared type `HashMap`
|
||||
--> $DIR/issue-31997-1.rs:20:19
|
||||
|
|
||||
LL | let mut map = HashMap::new();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
type A0 = dyn;
|
||||
//~^ ERROR cannot find type `dyn` in this scope
|
||||
type A1 = dyn::dyn;
|
||||
//~^ ERROR use of undeclared type or module `dyn`
|
||||
//~^ ERROR use of undeclared crate or module `dyn`
|
||||
type A2 = dyn<dyn, dyn>;
|
||||
//~^ ERROR cannot find type `dyn` in this scope
|
||||
//~| ERROR cannot find type `dyn` in this scope
|
||||
|
@ -9,6 +9,6 @@ type A2 = dyn<dyn, dyn>;
|
|||
type A3 = dyn<<dyn as dyn>::dyn>;
|
||||
//~^ ERROR cannot find type `dyn` in this scope
|
||||
//~| ERROR cannot find type `dyn` in this scope
|
||||
//~| ERROR use of undeclared type or module `dyn`
|
||||
//~| ERROR use of undeclared crate or module `dyn`
|
||||
|
||||
fn main() {}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `dyn`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `dyn`
|
||||
--> $DIR/dyn-trait-compatibility.rs:3:11
|
||||
|
|
||||
LL | type A1 = dyn::dyn;
|
||||
| ^^^ use of undeclared type or module `dyn`
|
||||
| ^^^ use of undeclared crate or module `dyn`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `dyn`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `dyn`
|
||||
--> $DIR/dyn-trait-compatibility.rs:9:23
|
||||
|
|
||||
LL | type A3 = dyn<<dyn as dyn>::dyn>;
|
||||
| ^^^ use of undeclared type or module `dyn`
|
||||
| ^^^ use of undeclared crate or module `dyn`
|
||||
|
||||
error[E0412]: cannot find type `dyn` in this scope
|
||||
--> $DIR/dyn-trait-compatibility.rs:1:11
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `NonExistingMap`
|
||||
error[E0433]: failed to resolve: use of undeclared type `NonExistingMap`
|
||||
--> $DIR/E0433.rs:2:15
|
||||
|
|
||||
LL | let map = NonExistingMap::new();
|
||||
| ^^^^^^^^^^^^^^ use of undeclared type or module `NonExistingMap`
|
||||
| ^^^^^^^^^^^^^^ use of undeclared type `NonExistingMap`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
// ignore-tidy-linelength
|
||||
|
||||
// In this test baz isn't resolved when called as foo.baz even though
|
||||
// it's called from inside foo. This is somewhat surprising and may
|
||||
// want to change eventually.
|
||||
|
||||
mod foo {
|
||||
pub fn bar() { foo::baz(); } //~ ERROR failed to resolve: use of undeclared type or module `foo`
|
||||
pub fn bar() { foo::baz(); } //~ ERROR failed to resolve: use of undeclared crate or module `foo`
|
||||
|
||||
fn baz() { }
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `foo`
|
||||
--> $DIR/export-fully-qualified.rs:6:20
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
||||
--> $DIR/export-fully-qualified.rs:8:20
|
||||
|
|
||||
LL | pub fn bar() { foo::baz(); }
|
||||
| ^^^ use of undeclared type or module `foo`
|
||||
| ^^^ use of undeclared crate or module `foo`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
mod foo {
|
||||
pub fn x() { bar::x(); } //~ ERROR failed to resolve: use of undeclared type or module `bar`
|
||||
pub fn x() { bar::x(); } //~ ERROR failed to resolve: use of undeclared crate or module `bar`
|
||||
}
|
||||
|
||||
mod bar {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `bar`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `bar`
|
||||
--> $DIR/export2.rs:2:18
|
||||
|
|
||||
LL | pub fn x() { bar::x(); }
|
||||
| ^^^ use of undeclared type or module `bar`
|
||||
| ^^^ use of undeclared crate or module `bar`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `somedep`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `somedep`
|
||||
--> $DIR/multiple-opts.rs:19:5
|
||||
|
|
||||
LL | somedep::somefun();
|
||||
| ^^^^^^^ use of undeclared type or module `somedep`
|
||||
| ^^^^^^^ use of undeclared crate or module `somedep`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `somedep`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `somedep`
|
||||
--> $DIR/noprelude.rs:6:5
|
||||
|
|
||||
LL | somedep::somefun();
|
||||
| ^^^^^^^ use of undeclared type or module `somedep`
|
||||
| ^^^^^^^ use of undeclared crate or module `somedep`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ fn main() {
|
|||
yield;
|
||||
assert_eq!(b as *const _, &a as *const _);
|
||||
};
|
||||
// Safety: We shadow the original generator variable so have no safe API to
|
||||
// SAFETY: We shadow the original generator variable so have no safe API to
|
||||
// move it after this point.
|
||||
let mut generator = unsafe { Pin::new_unchecked(&mut generator) };
|
||||
assert_eq!(generator.as_mut().resume(()), GeneratorState::Yielded(()));
|
||||
|
|
|
@ -9,7 +9,7 @@ macro a() {
|
|||
mod u {
|
||||
// Late resolution.
|
||||
fn f() { my_core::mem::drop(0); }
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `my_core`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `my_core`
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ mod v {
|
|||
mod u {
|
||||
// Late resolution.
|
||||
fn f() { my_core::mem::drop(0); }
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `my_core`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `my_core`
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
|
|
@ -18,22 +18,22 @@ LL | a!();
|
|||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `my_core`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `my_core`
|
||||
--> $DIR/extern-prelude-from-opaque-fail.rs:11:18
|
||||
|
|
||||
LL | fn f() { my_core::mem::drop(0); }
|
||||
| ^^^^^^^ use of undeclared type or module `my_core`
|
||||
| ^^^^^^^ use of undeclared crate or module `my_core`
|
||||
...
|
||||
LL | a!();
|
||||
| ----- in this macro invocation
|
||||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `my_core`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `my_core`
|
||||
--> $DIR/extern-prelude-from-opaque-fail.rs:24:14
|
||||
|
|
||||
LL | fn f() { my_core::mem::drop(0); }
|
||||
| ^^^^^^^ use of undeclared type or module `my_core`
|
||||
| ^^^^^^^ use of undeclared crate or module `my_core`
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ LL | assert_eq!(0, 0);
|
|||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `Vec`
|
||||
error[E0433]: failed to resolve: use of undeclared type `Vec`
|
||||
--> $DIR/no_implicit_prelude.rs:11:9
|
||||
|
|
||||
LL | fn f() { ::bar::m!(); }
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `foo`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
||||
--> $DIR/issue-72911.rs:12:33
|
||||
|
|
||||
LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> {
|
||||
| ^^^ use of undeclared type or module `foo`
|
||||
| ^^^ use of undeclared crate or module `foo`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `foo`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
||||
--> $DIR/issue-72911.rs:17:41
|
||||
|
|
||||
LL | fn lint_files() -> impl Iterator<Item = foo::MissingItem> {
|
||||
| ^^^ use of undeclared type or module `foo`
|
||||
| ^^^ use of undeclared crate or module `foo`
|
||||
|
||||
error[E0720]: cannot resolve opaque type
|
||||
--> $DIR/issue-72911.rs:7:24
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
// ignore-tidy-linelength
|
||||
|
||||
// aux-build:two_macros.rs
|
||||
// compile-flags:--extern non_existent
|
||||
|
||||
|
@ -7,7 +9,7 @@ mod n {
|
|||
|
||||
mod m {
|
||||
fn check() {
|
||||
two_macros::m!(); //~ ERROR failed to resolve: use of undeclared type or module `two_macros`
|
||||
two_macros::m!(); //~ ERROR failed to resolve: use of undeclared crate or module `two_macros`
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
error: macro-expanded `extern crate` items cannot shadow names passed with `--extern`
|
||||
--> $DIR/extern-prelude-extern-crate-fail.rs:16:9
|
||||
--> $DIR/extern-prelude-extern-crate-fail.rs:18:9
|
||||
|
|
||||
LL | extern crate std as non_existent;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -9,11 +9,11 @@ LL | define_std_as_non_existent!();
|
|||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `two_macros`
|
||||
--> $DIR/extern-prelude-extern-crate-fail.rs:10:9
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `two_macros`
|
||||
--> $DIR/extern-prelude-extern-crate-fail.rs:12:9
|
||||
|
|
||||
LL | two_macros::m!();
|
||||
| ^^^^^^^^^^ use of undeclared type or module `two_macros`
|
||||
| ^^^^^^^^^^ use of undeclared crate or module `two_macros`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
fn main() {
|
||||
match 0 {
|
||||
aaa::bbb(_) => ()
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `aaa`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `aaa`
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `aaa`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `aaa`
|
||||
--> $DIR/issue-33293.rs:3:9
|
||||
|
|
||||
LL | aaa::bbb(_) => ()
|
||||
| ^^^ use of undeclared type or module `aaa`
|
||||
| ^^^ use of undeclared crate or module `aaa`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// because macros with the same names are in prelude.
|
||||
|
||||
fn main() {
|
||||
env::current_dir; //~ ERROR use of undeclared type or module `env`
|
||||
type A = panic::PanicInfo; //~ ERROR use of undeclared type or module `panic`
|
||||
type B = vec::Vec<u8>; //~ ERROR use of undeclared type or module `vec`
|
||||
env::current_dir; //~ ERROR use of undeclared crate or module `env`
|
||||
type A = panic::PanicInfo; //~ ERROR use of undeclared crate or module `panic`
|
||||
type B = vec::Vec<u8>; //~ ERROR use of undeclared crate or module `vec`
|
||||
}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `env`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `env`
|
||||
--> $DIR/builtin-prelude-no-accidents.rs:5:5
|
||||
|
|
||||
LL | env::current_dir;
|
||||
| ^^^ use of undeclared type or module `env`
|
||||
| ^^^ use of undeclared crate or module `env`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `panic`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `panic`
|
||||
--> $DIR/builtin-prelude-no-accidents.rs:6:14
|
||||
|
|
||||
LL | type A = panic::PanicInfo;
|
||||
| ^^^^^ use of undeclared type or module `panic`
|
||||
| ^^^^^ use of undeclared crate or module `panic`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `vec`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `vec`
|
||||
--> $DIR/builtin-prelude-no-accidents.rs:7:14
|
||||
|
|
||||
LL | type B = vec::Vec<u8>;
|
||||
| ^^^ use of undeclared type or module `vec`
|
||||
| ^^^ use of undeclared crate or module `vec`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
@ -15,6 +15,6 @@ test!(b,
|
|||
#[rustc_dummy]
|
||||
fn main() {
|
||||
a::bar();
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `a`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `a`
|
||||
b::bar();
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `a`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `a`
|
||||
--> $DIR/macro-inner-attributes.rs:17:5
|
||||
|
|
||||
LL | a::bar();
|
||||
| ^ use of undeclared type or module `a`
|
||||
| ^ use of undeclared crate or module `a`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `m`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `m`
|
||||
--> $DIR/macro_path_as_generic_bound.rs:7:6
|
||||
|
|
||||
LL | foo!(m::m2::A);
|
||||
| ^ use of undeclared type or module `m`
|
||||
| ^ use of undeclared crate or module `m`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -2,5 +2,5 @@ mod mod_file_disambig_aux; //~ ERROR file for module `mod_file_disambig_aux` fou
|
|||
|
||||
fn main() {
|
||||
assert_eq!(mod_file_aux::bar(), 10);
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `mod_file_aux`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `mod_file_aux`
|
||||
}
|
||||
|
|
|
@ -6,11 +6,11 @@ LL | mod mod_file_disambig_aux;
|
|||
|
|
||||
= help: delete or rename one of them to remove the ambiguity
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `mod_file_aux`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `mod_file_aux`
|
||||
--> $DIR/mod_file_disambig.rs:4:16
|
||||
|
|
||||
LL | assert_eq!(mod_file_aux::bar(), 10);
|
||||
| ^^^^^^^^^^^^ use of undeclared type or module `mod_file_aux`
|
||||
| ^^^^^^^^^^^^ use of undeclared crate or module `mod_file_aux`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -5,5 +5,5 @@ mod not_a_real_file; //~ ERROR file not found for module `not_a_real_file`
|
|||
|
||||
fn main() {
|
||||
assert_eq!(mod_file_aux::bar(), 10);
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `mod_file_aux`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `mod_file_aux`
|
||||
}
|
||||
|
|
|
@ -6,11 +6,11 @@ LL | mod not_a_real_file;
|
|||
|
|
||||
= help: to create the module `not_a_real_file`, create file "$DIR/not_a_real_file.rs"
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `mod_file_aux`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `mod_file_aux`
|
||||
--> $DIR/mod_file_not_exist.rs:7:16
|
||||
|
|
||||
LL | assert_eq!(mod_file_aux::bar(), 10);
|
||||
| ^^^^^^^^^^^^ use of undeclared type or module `mod_file_aux`
|
||||
| ^^^^^^^^^^^^ use of undeclared crate or module `mod_file_aux`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -5,5 +5,5 @@ mod not_a_real_file; //~ ERROR file not found for module `not_a_real_file`
|
|||
|
||||
fn main() {
|
||||
assert_eq!(mod_file_aux::bar(), 10);
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `mod_file_aux`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `mod_file_aux`
|
||||
}
|
||||
|
|
|
@ -6,11 +6,11 @@ LL | mod not_a_real_file;
|
|||
|
|
||||
= help: to create the module `not_a_real_file`, create file "$DIR/not_a_real_file.rs"
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `mod_file_aux`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `mod_file_aux`
|
||||
--> $DIR/mod_file_not_exist_windows.rs:7:16
|
||||
|
|
||||
LL | assert_eq!(mod_file_aux::bar(), 10);
|
||||
| ^^^^^^^^^^^^ use of undeclared type or module `mod_file_aux`
|
||||
| ^^^^^^^^^^^^ use of undeclared crate or module `mod_file_aux`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -30,6 +30,6 @@ fn main() {
|
|||
//~| expected `char`, found `bool`
|
||||
|
||||
match () {
|
||||
E::V => {} //~ ERROR failed to resolve: use of undeclared type or module `E`
|
||||
E::V => {} //~ ERROR failed to resolve: use of undeclared type `E`
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `E`
|
||||
error[E0433]: failed to resolve: use of undeclared type `E`
|
||||
--> $DIR/pattern-error-continue.rs:33:9
|
||||
|
|
||||
LL | E::V => {}
|
||||
| ^ use of undeclared type or module `E`
|
||||
| ^ use of undeclared type `E`
|
||||
|
||||
error[E0532]: expected tuple struct or tuple variant, found unit variant `A::D`
|
||||
--> $DIR/pattern-error-continue.rs:18:9
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `GooMap`
|
||||
error[E0433]: failed to resolve: use of undeclared type `GooMap`
|
||||
--> $DIR/use_suggestion.rs:3:14
|
||||
|
|
||||
LL | let x2 = GooMap::new();
|
||||
| ^^^^^^ use of undeclared type or module `GooMap`
|
||||
| ^^^^^^ use of undeclared type `GooMap`
|
||||
|
||||
error[E0433]: failed to resolve: use of undeclared type or module `HashMap`
|
||||
error[E0433]: failed to resolve: use of undeclared type `HashMap`
|
||||
--> $DIR/use_suggestion.rs:2:14
|
||||
|
|
||||
LL | let x1 = HashMap::new();
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0432]: unresolved import `xcrate`
|
|||
--> $DIR/non-existent-1.rs:3:5
|
||||
|
|
||||
LL | use xcrate::S;
|
||||
| ^^^^^^ use of undeclared type or module `xcrate`
|
||||
| ^^^^^^ use of undeclared crate or module `xcrate`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
fn main() {
|
||||
std:io::stdin();
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `io`
|
||||
//~^ ERROR failed to resolve: use of undeclared crate or module `io`
|
||||
//~| ERROR expected value, found crate
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `io`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `io`
|
||||
--> $DIR/type-ascription-instead-of-path.rs:2:9
|
||||
|
|
||||
LL | std:io::stdin();
|
||||
| ^^ use of undeclared type or module `io`
|
||||
| ^^ use of undeclared crate or module `io`
|
||||
|
||||
error[E0423]: expected value, found crate `std`
|
||||
--> $DIR/type-ascription-instead-of-path.rs:2:5
|
||||
|
|
|
@ -3,6 +3,6 @@ pub trait Trait {
|
|||
}
|
||||
|
||||
pub type Alias = dyn Trait<A = Self::A>;
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `Self` [E0433]
|
||||
//~^ ERROR failed to resolve: use of undeclared type `Self` [E0433]
|
||||
|
||||
fn main() {}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `Self`
|
||||
error[E0433]: failed to resolve: use of undeclared type `Self`
|
||||
--> $DIR/issue-62263-self-in-atb.rs:5:32
|
||||
|
|
||||
LL | pub type Alias = dyn Trait<A = Self::A>;
|
||||
| ^^^^ use of undeclared type or module `Self`
|
||||
| ^^^^ use of undeclared type `Self`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
type Alias = Self::Target;
|
||||
//~^ ERROR failed to resolve: use of undeclared type or module `Self` [E0433]
|
||||
//~^ ERROR failed to resolve: use of undeclared type `Self` [E0433]
|
||||
|
||||
fn main() {}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `Self`
|
||||
error[E0433]: failed to resolve: use of undeclared type `Self`
|
||||
--> $DIR/issue-62305-self-assoc-ty.rs:1:14
|
||||
|
|
||||
LL | type Alias = Self::Target;
|
||||
| ^^^^ use of undeclared type or module `Self`
|
||||
| ^^^^ use of undeclared type `Self`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ fn ufcs_trait() {
|
|||
}
|
||||
|
||||
fn ufcs_item() {
|
||||
NonExistent::Assoc::<u8>; //~ ERROR undeclared type or module `NonExistent`
|
||||
NonExistent::Assoc::<u8>; //~ ERROR undeclared type `NonExistent`
|
||||
}
|
||||
|
||||
fn method() {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `NonExistent`
|
||||
error[E0433]: failed to resolve: use of undeclared type `NonExistent`
|
||||
--> $DIR/type-path-err-node-types.rs:15:5
|
||||
|
|
||||
LL | NonExistent::Assoc::<u8>;
|
||||
| ^^^^^^^^^^^ use of undeclared type or module `NonExistent`
|
||||
| ^^^^^^^^^^^ use of undeclared type `NonExistent`
|
||||
|
||||
error[E0412]: cannot find type `Nonexistent` in this scope
|
||||
--> $DIR/type-path-err-node-types.rs:7:12
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#[foo::bar] //~ ERROR failed to resolve: use of undeclared type or module `foo`
|
||||
#[foo::bar] //~ ERROR failed to resolve: use of undeclared crate or module `foo`
|
||||
fn main() {}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `foo`
|
||||
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
||||
--> $DIR/unknown-tool-name.rs:1:3
|
||||
|
|
||||
LL | #[foo::bar]
|
||||
| ^^^ use of undeclared type or module `foo`
|
||||
| ^^^ use of undeclared crate or module `foo`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ impl S {
|
|||
fn f() {}
|
||||
fn g() {
|
||||
use Self::f; //~ ERROR unresolved import
|
||||
pub(in Self::f) struct Z; //~ ERROR use of undeclared type or module `Self`
|
||||
pub(in Self::f) struct Z; //~ ERROR use of undeclared type `Self`
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
error[E0433]: failed to resolve: use of undeclared type or module `Self`
|
||||
error[E0433]: failed to resolve: use of undeclared type `Self`
|
||||
--> $DIR/use-self-type.rs:7:16
|
||||
|
|
||||
LL | pub(in Self::f) struct Z;
|
||||
| ^^^^ use of undeclared type or module `Self`
|
||||
| ^^^^ use of undeclared type `Self`
|
||||
|
||||
error[E0432]: unresolved import `Self`
|
||||
--> $DIR/use-self-type.rs:6:13
|
||||
|
|
||||
LL | use Self::f;
|
||||
| ^^^^ use of undeclared type or module `Self`
|
||||
| ^^^^ use of undeclared type `Self`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
@ -99,3 +99,9 @@ message_on_add = """\
|
|||
- Needs `I-nominated`?
|
||||
"""
|
||||
message_on_remove = "Issue #{number}'s prioritization request has been removed."
|
||||
|
||||
[github-releases]
|
||||
format = "rustc"
|
||||
project-name = "Rust"
|
||||
changelog-path = "RELEASES.md"
|
||||
changelog-branch = "master"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue