Merge remote-tracking branch 'origin/master' into frewsxcv-san
This commit is contained in:
commit
d482de30ea
1600 changed files with 29527 additions and 21534 deletions
16
src/test/codegen/slice-ref-equality.rs
Normal file
16
src/test/codegen/slice-ref-equality.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// compile-flags: -C opt-level=3
|
||||
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// #71602: check that slice equality just generates a single bcmp
|
||||
|
||||
// CHECK-LABEL: @is_zero_slice
|
||||
#[no_mangle]
|
||||
pub fn is_zero_slice(data: &[u8; 4]) -> bool {
|
||||
// CHECK: start:
|
||||
// CHECK-NEXT: %{{.+}} = getelementptr {{.+}}
|
||||
// CHECK-NEXT: %[[BCMP:.+]] = tail call i32 @{{bcmp|memcmp}}({{.+}})
|
||||
// CHECK-NEXT: %[[EQ:.+]] = icmp eq i32 %[[BCMP]], 0
|
||||
// CHECK-NEXT: ret i1 %[[EQ]]
|
||||
*data == [0; 4]
|
||||
}
|
||||
85
src/test/codegen/transmute-scalar.rs
Normal file
85
src/test/codegen/transmute-scalar.rs
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
// compile-flags: -O -C no-prepopulate-passes
|
||||
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// FIXME(eddyb) all of these tests show memory stores and loads, even after a
|
||||
// scalar `bitcast`, more special-casing is required to remove `alloca` usage.
|
||||
|
||||
// CHECK: define i32 @f32_to_bits(float %x)
|
||||
// CHECK: %2 = bitcast float %x to i32
|
||||
// CHECK-NEXT: store i32 %2, i32* %0
|
||||
// CHECK-NEXT: %3 = load i32, i32* %0
|
||||
// CHECK: ret i32 %3
|
||||
#[no_mangle]
|
||||
pub fn f32_to_bits(x: f32) -> u32 {
|
||||
unsafe { std::mem::transmute(x) }
|
||||
}
|
||||
|
||||
// CHECK: define i8 @bool_to_byte(i1 zeroext %b)
|
||||
// CHECK: %1 = zext i1 %b to i8
|
||||
// CHECK-NEXT: store i8 %1, i8* %0
|
||||
// CHECK-NEXT: %2 = load i8, i8* %0
|
||||
// CHECK: ret i8 %2
|
||||
#[no_mangle]
|
||||
pub fn bool_to_byte(b: bool) -> u8 {
|
||||
unsafe { std::mem::transmute(b) }
|
||||
}
|
||||
|
||||
// CHECK: define zeroext i1 @byte_to_bool(i8 %byte)
|
||||
// CHECK: %1 = trunc i8 %byte to i1
|
||||
// CHECK-NEXT: %2 = zext i1 %1 to i8
|
||||
// CHECK-NEXT: store i8 %2, i8* %0
|
||||
// CHECK-NEXT: %3 = load i8, i8* %0
|
||||
// CHECK-NEXT: %4 = trunc i8 %3 to i1
|
||||
// CHECK: ret i1 %4
|
||||
#[no_mangle]
|
||||
pub unsafe fn byte_to_bool(byte: u8) -> bool {
|
||||
std::mem::transmute(byte)
|
||||
}
|
||||
|
||||
// CHECK: define i8* @ptr_to_ptr(i16* %p)
|
||||
// CHECK: %2 = bitcast i16* %p to i8*
|
||||
// CHECK-NEXT: store i8* %2, i8** %0
|
||||
// CHECK-NEXT: %3 = load i8*, i8** %0
|
||||
// CHECK: ret i8* %3
|
||||
#[no_mangle]
|
||||
pub fn ptr_to_ptr(p: *mut u16) -> *mut u8 {
|
||||
unsafe { std::mem::transmute(p) }
|
||||
}
|
||||
|
||||
// HACK(eddyb) scalar `transmute`s between pointers and non-pointers are
|
||||
// currently not special-cased like other scalar `transmute`s, because
|
||||
// LLVM requires specifically `ptrtoint`/`inttoptr` instead of `bitcast`.
|
||||
//
|
||||
// Tests below show the non-special-cased behavior (with the possible
|
||||
// future special-cased instructions in the "NOTE(eddyb)" comments).
|
||||
|
||||
// CHECK: define [[USIZE:i[0-9]+]] @ptr_to_int(i16* %p)
|
||||
|
||||
// NOTE(eddyb) see above, the following two CHECK lines should ideally be this:
|
||||
// %2 = ptrtoint i16* %p to [[USIZE]]
|
||||
// store [[USIZE]] %2, [[USIZE]]* %0
|
||||
// CHECK: %2 = bitcast [[USIZE]]* %0 to i16**
|
||||
// CHECK-NEXT: store i16* %p, i16** %2
|
||||
|
||||
// CHECK-NEXT: %3 = load [[USIZE]], [[USIZE]]* %0
|
||||
// CHECK: ret [[USIZE]] %3
|
||||
#[no_mangle]
|
||||
pub fn ptr_to_int(p: *mut u16) -> usize {
|
||||
unsafe { std::mem::transmute(p) }
|
||||
}
|
||||
|
||||
// CHECK: define i16* @int_to_ptr([[USIZE]] %i)
|
||||
|
||||
// NOTE(eddyb) see above, the following two CHECK lines should ideally be this:
|
||||
// %2 = inttoptr [[USIZE]] %i to i16*
|
||||
// store i16* %2, i16** %0
|
||||
// CHECK: %2 = bitcast i16** %0 to [[USIZE]]*
|
||||
// CHECK-NEXT: store [[USIZE]] %i, [[USIZE]]* %2
|
||||
|
||||
// CHECK-NEXT: %3 = load i16*, i16** %0
|
||||
// CHECK: ret i16* %3
|
||||
#[no_mangle]
|
||||
pub fn int_to_ptr(i: usize) -> *mut u16 {
|
||||
unsafe { std::mem::transmute(i) }
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
// no-prefer-dynamic
|
||||
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
#![no_std]
|
||||
#![feature(lang_items)]
|
||||
|
||||
use core::panic::PanicInfo;
|
||||
|
||||
#[lang = "panic_impl"]
|
||||
fn panic_impl(info: &PanicInfo) -> ! { loop {} }
|
||||
#[lang = "eh_personality"]
|
||||
fn eh_personality() {}
|
||||
#[lang = "eh_catch_typeinfo"]
|
||||
static EH_CATCH_TYPEINFO: u8 = 0;
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
// compile-flags:-C panic=unwind
|
||||
// no-prefer-dynamic
|
||||
|
||||
#![feature(panic_runtime)]
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
#![no_std]
|
||||
#![panic_runtime]
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn __rust_maybe_catch_panic() {}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn __rust_start_panic() {}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn rust_eh_personality() {}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
// compile-flags:-C panic=unwind
|
||||
// no-prefer-dynamic
|
||||
|
||||
#![feature(panic_runtime)]
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
#![no_std]
|
||||
#![panic_runtime]
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn __rust_maybe_catch_panic() {}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn __rust_start_panic() {}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn rust_eh_personality() {}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
// no-prefer-dynamic
|
||||
|
||||
#![crate_type = "rlib"]
|
||||
#![no_std]
|
||||
|
||||
use core::panic::PanicInfo;
|
||||
|
||||
#[panic_handler]
|
||||
fn panic(info: &PanicInfo) -> ! {
|
||||
loop {}
|
||||
}
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
// no-prefer-dynamic
|
||||
|
||||
#![crate_type = "rlib"]
|
||||
#![no_std]
|
||||
|
||||
extern crate panic_runtime_unwind;
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
error: the crate `depends` cannot depend on a crate that needs a panic runtime, but it depends on `needs_panic_runtime`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
@ -10,8 +10,8 @@
|
|||
// cdb-command: g
|
||||
|
||||
// cdb-command: dx hash_set,d
|
||||
// cdb-check:hash_set,d [...] : { size=15 } [Type: [...]::HashSet<u64, [...]>]
|
||||
// cdb-check: [size] : 15 [Type: [...]]
|
||||
// cdb-check:hash_set,d [...] : { len=15 } [Type: [...]::HashSet<u64, [...]>]
|
||||
// cdb-check: [len] : 15 [Type: [...]]
|
||||
// cdb-check: [capacity] : [...]
|
||||
// cdb-check: [[...]] [...] : 0 [Type: u64]
|
||||
// cdb-command: dx hash_set,d
|
||||
|
|
@ -44,8 +44,8 @@
|
|||
// cdb-check: [[...]] [...] : 14 [Type: u64]
|
||||
|
||||
// cdb-command: dx hash_map,d
|
||||
// cdb-check:hash_map,d [...] : { size=15 } [Type: [...]::HashMap<u64, u64, [...]>]
|
||||
// cdb-check: [size] : 15 [Type: [...]]
|
||||
// cdb-check:hash_map,d [...] : { len=15 } [Type: [...]::HashMap<u64, u64, [...]>]
|
||||
// cdb-check: [len] : 15 [Type: [...]]
|
||||
// cdb-check: [capacity] : [...]
|
||||
// cdb-check: ["0x0"] : 0 [Type: unsigned __int64]
|
||||
// cdb-command: dx hash_map,d
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@
|
|||
// NOTE: While slices have a .natvis entry that works in VS & VS Code, it fails in CDB 10.0.18362.1
|
||||
|
||||
// cdb-command: dx vec,d
|
||||
// cdb-check:vec,d [...] : { size=4 } [Type: [...]::Vec<u64, alloc::alloc::Global>]
|
||||
// cdb-check: [size] : 4 [Type: [...]]
|
||||
// cdb-check:vec,d [...] : { len=4 } [Type: [...]::Vec<u64, alloc::alloc::Global>]
|
||||
// cdb-check: [len] : 4 [Type: [...]]
|
||||
// cdb-check: [capacity] : [...] [Type: [...]]
|
||||
// cdb-check: [0] : 4 [Type: unsigned __int64]
|
||||
// cdb-check: [1] : 5 [Type: unsigned __int64]
|
||||
|
|
@ -89,8 +89,10 @@
|
|||
// cdb-command: dx string
|
||||
// cdb-check:string : "IAMA string!" [Type: [...]::String]
|
||||
// cdb-check: [<Raw View>] [Type: [...]::String]
|
||||
// cdb-check: [size] : 0xc [Type: [...]]
|
||||
// cdb-check: [len] : 0xc [Type: [...]]
|
||||
// cdb-check: [capacity] : 0xc [Type: [...]]
|
||||
|
||||
// cdb-command: dx -r2 string
|
||||
// cdb-check: [0] : 73 'I' [Type: char]
|
||||
// cdb-check: [1] : 65 'A' [Type: char]
|
||||
// cdb-check: [2] : 77 'M' [Type: char]
|
||||
|
|
@ -109,11 +111,11 @@
|
|||
// NOTE: OsString doesn't have a .natvis entry yet.
|
||||
|
||||
// cdb-command: dx some
|
||||
// cdb-check:some : { Some 8 } [Type: [...]::Option<i16>]
|
||||
// cdb-check:some : Some(8) [Type: [...]::Option<i16>]
|
||||
// cdb-command: dx none
|
||||
// cdb-check:none : { None } [Type: [...]::Option<i64>]
|
||||
// cdb-check:none : None [Type: [...]::Option<i64>]
|
||||
// cdb-command: dx some_string
|
||||
// cdb-check:some_string : { Some "IAMA optional string!" } [[...]::Option<[...]::String>]
|
||||
// cdb-check:some_string : Some("IAMA optional string!") [[...]::Option<[...]::String>]
|
||||
|
||||
#![allow(unused_variables)]
|
||||
use std::ffi::OsString;
|
||||
|
|
|
|||
1
src/test/incremental/auxiliary/issue-79890.rs
Normal file
1
src/test/incremental/auxiliary/issue-79890.rs
Normal file
|
|
@ -0,0 +1 @@
|
|||
pub trait MyTrait {}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
// aux-build:issue-79890.rs
|
||||
// revisions:rpass1 rpass2 rpass3
|
||||
// compile-flags:--extern issue_79890 --test
|
||||
// edition:2018
|
||||
|
||||
// Tests that we don't ICE when the set of imported crates changes
|
||||
#[cfg(rpass2)] use issue_79890::MyTrait;
|
||||
115
src/test/mir-opt/const_debuginfo.main.ConstDebugInfo.diff
Normal file
115
src/test/mir-opt/const_debuginfo.main.ConstDebugInfo.diff
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
- // MIR for `main` before ConstDebugInfo
|
||||
+ // MIR for `main` after ConstDebugInfo
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/const_debuginfo.rs:8:11: 8:11
|
||||
let _1: u8; // in scope 0 at $DIR/const_debuginfo.rs:9:9: 9:10
|
||||
let mut _5: u8; // in scope 0 at $DIR/const_debuginfo.rs:12:15: 12:20
|
||||
let mut _6: u8; // in scope 0 at $DIR/const_debuginfo.rs:12:15: 12:16
|
||||
let mut _7: u8; // in scope 0 at $DIR/const_debuginfo.rs:12:19: 12:20
|
||||
let mut _8: u8; // in scope 0 at $DIR/const_debuginfo.rs:12:23: 12:24
|
||||
let mut _14: u32; // in scope 0 at $DIR/const_debuginfo.rs:21:13: 21:16
|
||||
let mut _15: u32; // in scope 0 at $DIR/const_debuginfo.rs:21:19: 21:22
|
||||
scope 1 {
|
||||
- debug x => _1; // in scope 1 at $DIR/const_debuginfo.rs:9:9: 9:10
|
||||
+ debug x => const 1_u8; // in scope 1 at $DIR/const_debuginfo.rs:9:9: 9:10
|
||||
let _2: u8; // in scope 1 at $DIR/const_debuginfo.rs:10:9: 10:10
|
||||
scope 2 {
|
||||
- debug y => _2; // in scope 2 at $DIR/const_debuginfo.rs:10:9: 10:10
|
||||
+ debug y => const 2_u8; // in scope 2 at $DIR/const_debuginfo.rs:10:9: 10:10
|
||||
let _3: u8; // in scope 2 at $DIR/const_debuginfo.rs:11:9: 11:10
|
||||
scope 3 {
|
||||
- debug z => _3; // in scope 3 at $DIR/const_debuginfo.rs:11:9: 11:10
|
||||
+ debug z => const 3_u8; // in scope 3 at $DIR/const_debuginfo.rs:11:9: 11:10
|
||||
let _4: u8; // in scope 3 at $DIR/const_debuginfo.rs:12:9: 12:12
|
||||
scope 4 {
|
||||
- debug sum => _4; // in scope 4 at $DIR/const_debuginfo.rs:12:9: 12:12
|
||||
+ debug sum => const 6_u8; // in scope 4 at $DIR/const_debuginfo.rs:12:9: 12:12
|
||||
let _9: &str; // in scope 4 at $DIR/const_debuginfo.rs:14:9: 14:10
|
||||
scope 5 {
|
||||
- debug s => _9; // in scope 5 at $DIR/const_debuginfo.rs:14:9: 14:10
|
||||
+ debug s => const "hello, world!"; // in scope 5 at $DIR/const_debuginfo.rs:14:9: 14:10
|
||||
let _10: (bool, bool, u32); // in scope 5 at $DIR/const_debuginfo.rs:16:9: 16:10
|
||||
scope 6 {
|
||||
debug f => _10; // in scope 6 at $DIR/const_debuginfo.rs:16:9: 16:10
|
||||
let _11: std::option::Option<u16>; // in scope 6 at $DIR/const_debuginfo.rs:18:9: 18:10
|
||||
scope 7 {
|
||||
debug o => _11; // in scope 7 at $DIR/const_debuginfo.rs:18:9: 18:10
|
||||
let _12: Point; // in scope 7 at $DIR/const_debuginfo.rs:20:9: 20:10
|
||||
scope 8 {
|
||||
debug p => _12; // in scope 8 at $DIR/const_debuginfo.rs:20:9: 20:10
|
||||
let _13: u32; // in scope 8 at $DIR/const_debuginfo.rs:21:9: 21:10
|
||||
scope 9 {
|
||||
- debug a => _13; // in scope 9 at $DIR/const_debuginfo.rs:21:9: 21:10
|
||||
+ debug a => const 64_u32; // in scope 9 at $DIR/const_debuginfo.rs:21:9: 21:10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/const_debuginfo.rs:9:9: 9:10
|
||||
_1 = const 1_u8; // scope 0 at $DIR/const_debuginfo.rs:9:13: 9:16
|
||||
StorageLive(_2); // scope 1 at $DIR/const_debuginfo.rs:10:9: 10:10
|
||||
_2 = const 2_u8; // scope 1 at $DIR/const_debuginfo.rs:10:13: 10:16
|
||||
StorageLive(_3); // scope 2 at $DIR/const_debuginfo.rs:11:9: 11:10
|
||||
_3 = const 3_u8; // scope 2 at $DIR/const_debuginfo.rs:11:13: 11:16
|
||||
StorageLive(_4); // scope 3 at $DIR/const_debuginfo.rs:12:9: 12:12
|
||||
StorageLive(_5); // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:20
|
||||
StorageLive(_6); // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:16
|
||||
_6 = const 1_u8; // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:16
|
||||
StorageLive(_7); // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
|
||||
_7 = const 2_u8; // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
|
||||
_5 = const 3_u8; // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:20
|
||||
StorageDead(_7); // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
|
||||
StorageDead(_6); // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
|
||||
StorageLive(_8); // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
|
||||
_8 = const 3_u8; // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
|
||||
_4 = const 6_u8; // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:24
|
||||
StorageDead(_8); // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
|
||||
StorageDead(_5); // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
|
||||
StorageLive(_9); // scope 4 at $DIR/const_debuginfo.rs:14:9: 14:10
|
||||
_9 = const "hello, world!"; // scope 4 at $DIR/const_debuginfo.rs:14:13: 14:28
|
||||
// ty::Const
|
||||
// + ty: &str
|
||||
// + val: Value(Slice { data: Allocation { bytes: [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [8191], len: Size { raw: 13 } }, size: Size { raw: 13 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 13 })
|
||||
// mir::Constant
|
||||
// + span: $DIR/const_debuginfo.rs:14:13: 14:28
|
||||
// + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [8191], len: Size { raw: 13 } }, size: Size { raw: 13 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 13 }) }
|
||||
StorageLive(_10); // scope 5 at $DIR/const_debuginfo.rs:16:9: 16:10
|
||||
(_10.0: bool) = const true; // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
|
||||
(_10.1: bool) = const false; // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
|
||||
(_10.2: u32) = const 123_u32; // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
|
||||
StorageLive(_11); // scope 6 at $DIR/const_debuginfo.rs:18:9: 18:10
|
||||
((_11 as Some).0: u16) = const 99_u16; // scope 6 at $DIR/const_debuginfo.rs:18:13: 18:24
|
||||
discriminant(_11) = 1; // scope 6 at $DIR/const_debuginfo.rs:18:13: 18:24
|
||||
StorageLive(_12); // scope 7 at $DIR/const_debuginfo.rs:20:9: 20:10
|
||||
(_12.0: u32) = const 32_u32; // scope 7 at $DIR/const_debuginfo.rs:20:13: 20:35
|
||||
(_12.1: u32) = const 32_u32; // scope 7 at $DIR/const_debuginfo.rs:20:13: 20:35
|
||||
StorageLive(_13); // scope 8 at $DIR/const_debuginfo.rs:21:9: 21:10
|
||||
StorageLive(_14); // scope 8 at $DIR/const_debuginfo.rs:21:13: 21:16
|
||||
_14 = const 32_u32; // scope 8 at $DIR/const_debuginfo.rs:21:13: 21:16
|
||||
StorageLive(_15); // scope 8 at $DIR/const_debuginfo.rs:21:19: 21:22
|
||||
_15 = const 32_u32; // scope 8 at $DIR/const_debuginfo.rs:21:19: 21:22
|
||||
_13 = const 64_u32; // scope 8 at $DIR/const_debuginfo.rs:21:13: 21:22
|
||||
StorageDead(_15); // scope 8 at $DIR/const_debuginfo.rs:21:21: 21:22
|
||||
StorageDead(_14); // scope 8 at $DIR/const_debuginfo.rs:21:21: 21:22
|
||||
_0 = const (); // scope 0 at $DIR/const_debuginfo.rs:8:11: 22:2
|
||||
StorageDead(_13); // scope 8 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_12); // scope 7 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_11); // scope 6 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_10); // scope 5 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_9); // scope 4 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_4); // scope 3 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_3); // scope 2 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_2); // scope 1 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
StorageDead(_1); // scope 0 at $DIR/const_debuginfo.rs:22:1: 22:2
|
||||
return; // scope 0 at $DIR/const_debuginfo.rs:22:2: 22:2
|
||||
}
|
||||
}
|
||||
|
||||
24
src/test/mir-opt/const_debuginfo.rs
Normal file
24
src/test/mir-opt/const_debuginfo.rs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// compile-flags: -C overflow-checks=no -Zunsound-mir-opts
|
||||
|
||||
struct Point {
|
||||
x: u32,
|
||||
y: u32,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let x = 1u8;
|
||||
let y = 2u8;
|
||||
let z = 3u8;
|
||||
let sum = x + y + z;
|
||||
|
||||
let s = "hello, world!";
|
||||
|
||||
let f = (true, false, 123u32);
|
||||
|
||||
let o = Some(99u16);
|
||||
|
||||
let p = Point { x: 32, y: 32 };
|
||||
let a = p.x + p.y;
|
||||
}
|
||||
|
||||
// EMIT_MIR const_debuginfo.main.ConstDebugInfo.diff
|
||||
|
|
@ -14,9 +14,6 @@
|
|||
- _2 = CheckedAdd(const 1_u32, const 1_u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||
- assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||
+ _2 = const (2_u32, false); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||
+ // ty::Const
|
||||
+ // + ty: (u32, bool)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [2, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/checked_add.rs:5:18: 5:23
|
||||
+ // + literal: Const { ty: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [2, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -18,9 +18,6 @@
|
|||
- assert(!move (_3.1: bool), "attempt to compute `{} + {}`, which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||
+ _2 = const 2_u8; // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
||||
+ _3 = const (3_u8, false); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||
+ // ty::Const
|
||||
+ // + ty: (u8, bool)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [3, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [3], len: Size { raw: 2 } }, size: Size { raw: 2 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
||||
+ // + literal: Const { ty: (u8, bool), val: Value(ByRef { alloc: Allocation { bytes: [3, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [3], len: Size { raw: 2 } }, size: Size { raw: 2 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@
|
|||
(_3.1: u8) = const 2_u8; // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
|
||||
- (_2.0: (u8, u8)) = move _3; // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
|
||||
+ (_2.0: (u8, u8)) = const (1_u8, 2_u8); // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
|
||||
+ // ty::Const
|
||||
+ // + ty: (u8, u8)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [1, 2], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [3], len: Size { raw: 2 } }, size: Size { raw: 2 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/issue-67019.rs:11:10: 11:19
|
||||
+ // + literal: Const { ty: (u8, u8), val: Value(ByRef { alloc: Allocation { bytes: [1, 2], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [3], len: Size { raw: 2 } }, size: Size { raw: 2 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -20,9 +20,6 @@
|
|||
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate.rs:7:9: 7:10
|
||||
- _2 = _1; // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
||||
+ _2 = const (42_i32, 99_i32); // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
||||
+ // ty::Const
|
||||
+ // + ty: (i32, i32)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [42, 0, 0, 0, 99, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
||||
+ // + literal: Const { ty: (i32, i32), val: Value(ByRef { alloc: Allocation { bytes: [42, 0, 0, 0, 99, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -27,9 +27,6 @@
|
|||
- _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
- assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
+ _2 = const (4_i32, false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
+ // ty::Const
|
||||
+ // + ty: (i32, bool)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
+ // + literal: Const { ty: (i32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -27,9 +27,6 @@
|
|||
- _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
- assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
+ _2 = const (4_i32, false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
+ // ty::Const
|
||||
+ // + ty: (i32, bool)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||
+ // + literal: Const { ty: (i32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@
|
|||
- _1 = CheckedAdd(const 2_u32, const 2_u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||
- assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||
+ _1 = const (4_u32, false); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||
+ // ty::Const
|
||||
+ // + ty: (u32, bool)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/return_place.rs:6:5: 6:10
|
||||
+ // + literal: Const { ty: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -18,9 +18,6 @@
|
|||
StorageLive(_3); // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||
- _3 = _1; // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||
+ _3 = const (1_u32, 2_u32); // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||
+ // ty::Const
|
||||
+ // + ty: (u32, u32)
|
||||
+ // + val: Value(ByRef { alloc: Allocation { bytes: [1, 0, 0, 0, 2, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } })
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||
+ // + literal: Const { ty: (u32, u32), val: Value(ByRef { alloc: Allocation { bytes: [1, 0, 0, 0, 2, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@ digraph Cov_0_4 {
|
|||
graph [fontname="Courier, monospace"];
|
||||
node [fontname="Courier, monospace"];
|
||||
edge [fontname="Courier, monospace"];
|
||||
bcb0__Cov_0_4 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left"></td></tr><tr><td align="left" balign="left">Counter(bcb0) at 18:1-20:2<br/> 19:5-19:9: @0[0]: _0 = const true<br/> 20:2-20:2: @0.Return: return</td></tr><tr><td align="left" balign="left">bb0: Return</td></tr></table>>];
|
||||
bcb0__Cov_0_4 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left"></td></tr><tr><td align="left" balign="left">Counter(bcb0) at 18:1-20:2<br/> 19:5-19:9: @0[0]: Coverage::Counter(1) for $DIR/coverage_graphviz.rs:18:1 - 20:2<br/> 20:2-20:2: @0.Return: return</td></tr><tr><td align="left" balign="left">bb0: Return</td></tr></table>>];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ digraph Cov_0_3 {
|
|||
graph [fontname="Courier, monospace"];
|
||||
node [fontname="Courier, monospace"];
|
||||
edge [fontname="Courier, monospace"];
|
||||
bcb2__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb2</td></tr><tr><td align="left" balign="left">Expression(bcb0 - bcb1) at 13:10-13:10<br/> 13:10-13:10: @4[0]: _1 = const ()</td></tr><tr><td align="left" balign="left">bb4: Goto</td></tr></table>>];
|
||||
bcb2__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb2</td></tr><tr><td align="left" balign="left">Expression(bcb0 - bcb1) at 13:10-13:10<br/> 13:10-13:10: @4[0]: Coverage::Expression(4294967295) = 1 - 2 for $DIR/coverage_graphviz.rs:13:10 - 13:11</td></tr><tr><td align="left" balign="left">bb4: Goto</td></tr></table>>];
|
||||
bcb1__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb1</td></tr><tr><td align="left" balign="left">Counter(bcb1) at 12:13-12:18<br/> 12:13-12:18: @5[0]: _0 = const ()<br/>Expression(bcb1 + 0) at 15:2-15:2<br/> 15:2-15:2: @5.Return: return</td></tr><tr><td align="left" balign="left">bb3: FalseEdge</td></tr><tr><td align="left" balign="left">bb5: Return</td></tr></table>>];
|
||||
bcb0__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left"></td></tr><tr><td align="left" balign="left">Counter(bcb0) at 9:1-11:17<br/> 11:12-11:17: @1.Call: _2 = bar() -> [return: bb2, unwind: bb6]<br/> 11:12-11:17: @2[0]: FakeRead(ForMatchedPlace, _2)</td></tr><tr><td align="left" balign="left">bb0: FalseUnwind<br/>bb1: Call</td></tr><tr><td align="left" balign="left">bb2: SwitchInt</td></tr></table>>];
|
||||
bcb2__Cov_0_3 -> bcb0__Cov_0_3 [label=<>];
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
let mut _0: bool; // return place in scope 0 at /the/src/instrument_coverage.rs:19:13: 19:17
|
||||
|
||||
bb0: {
|
||||
_0 = const true; // scope 0 at /the/src/instrument_coverage.rs:20:5: 20:9
|
||||
+ Coverage::Counter(1) for /the/src/instrument_coverage.rs:19:1 - 21:2; // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2
|
||||
_0 = const true; // scope 0 at /the/src/instrument_coverage.rs:20:5: 20:9
|
||||
return; // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
let mut _3: !; // in scope 0 at /the/src/instrument_coverage.rs:12:18: 14:10
|
||||
|
||||
bb0: {
|
||||
+ Coverage::Counter(1) for /the/src/instrument_coverage.rs:10:1 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
|
||||
falseUnwind -> [real: bb1, cleanup: bb6]; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
|
||||
}
|
||||
|
||||
|
|
@ -21,26 +22,25 @@
|
|||
|
||||
bb2: {
|
||||
FakeRead(ForMatchedPlace, _2); // scope 0 at /the/src/instrument_coverage.rs:12:12: 12:17
|
||||
+ Coverage::Counter(1) for /the/src/instrument_coverage.rs:10:1 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
|
||||
switchInt(_2) -> [false: bb4, otherwise: bb3]; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
|
||||
}
|
||||
|
||||
bb3: {
|
||||
+ Coverage::Expression(4294967294) = 2 + 0 for /the/src/instrument_coverage.rs:16:1 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
|
||||
+ Coverage::Counter(2) for /the/src/instrument_coverage.rs:13:13 - 13:18; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
|
||||
falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
|
||||
}
|
||||
|
||||
bb4: {
|
||||
+ Coverage::Expression(4294967295) = 1 - 2 for /the/src/instrument_coverage.rs:14:10 - 14:11; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
|
||||
_1 = const (); // scope 0 at /the/src/instrument_coverage.rs:14:10: 14:10
|
||||
StorageDead(_2); // scope 0 at /the/src/instrument_coverage.rs:15:5: 15:6
|
||||
+ Coverage::Expression(4294967295) = 1 - 2 for /the/src/instrument_coverage.rs:14:10 - 14:11; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
|
||||
goto -> bb0; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
_0 = const (); // scope 0 at /the/src/instrument_coverage.rs:13:13: 13:18
|
||||
StorageDead(_2); // scope 0 at /the/src/instrument_coverage.rs:15:5: 15:6
|
||||
+ Coverage::Counter(2) for /the/src/instrument_coverage.rs:13:13 - 13:18; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
|
||||
+ Coverage::Expression(4294967294) = 2 + 0 for /the/src/instrument_coverage.rs:16:1 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
|
||||
return; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,128 @@
|
|||
- // MIR for `discriminant` before LowerIntrinsics
|
||||
+ // MIR for `discriminant` after LowerIntrinsics
|
||||
|
||||
fn discriminant(_1: T) -> () {
|
||||
debug t => _1; // in scope 0 at $DIR/lower_intrinsics.rs:68:24: 68:25
|
||||
let mut _0: (); // return place in scope 0 at $DIR/lower_intrinsics.rs:68:30: 68:30
|
||||
let _2: <T as std::marker::DiscriminantKind>::Discriminant; // in scope 0 at $DIR/lower_intrinsics.rs:69:5: 69:45
|
||||
let mut _3: &T; // in scope 0 at $DIR/lower_intrinsics.rs:69:42: 69:44
|
||||
let _4: &T; // in scope 0 at $DIR/lower_intrinsics.rs:69:42: 69:44
|
||||
let _5: u8; // in scope 0 at $DIR/lower_intrinsics.rs:70:5: 70:45
|
||||
let mut _6: &i32; // in scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
let _7: &i32; // in scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
let _8: i32; // in scope 0 at $DIR/lower_intrinsics.rs:70:43: 70:44
|
||||
let _9: u8; // in scope 0 at $DIR/lower_intrinsics.rs:71:5: 71:46
|
||||
let mut _10: &(); // in scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
let _11: &(); // in scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
let _12: (); // in scope 0 at $DIR/lower_intrinsics.rs:71:43: 71:45
|
||||
let _13: isize; // in scope 0 at $DIR/lower_intrinsics.rs:72:5: 72:48
|
||||
let mut _14: &E; // in scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
let _15: &E; // in scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
let _16: E; // in scope 0 at $DIR/lower_intrinsics.rs:72:43: 72:47
|
||||
let mut _17: &E; // in scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
let mut _18: &(); // in scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
let mut _19: &i32; // in scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/lower_intrinsics.rs:69:5: 69:45
|
||||
StorageLive(_3); // scope 0 at $DIR/lower_intrinsics.rs:69:42: 69:44
|
||||
StorageLive(_4); // scope 0 at $DIR/lower_intrinsics.rs:69:42: 69:44
|
||||
_4 = &_1; // scope 0 at $DIR/lower_intrinsics.rs:69:42: 69:44
|
||||
_3 = &(*_4); // scope 0 at $DIR/lower_intrinsics.rs:69:42: 69:44
|
||||
- _2 = discriminant_value::<T>(move _3) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:69:5: 69:45
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/lower_intrinsics.rs:69:5: 69:41
|
||||
- // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r T) -> <T as std::marker::DiscriminantKind>::Discriminant {std::intrinsics::discriminant_value::<T>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _2 = discriminant((*_3)); // scope 0 at $DIR/lower_intrinsics.rs:69:5: 69:45
|
||||
+ goto -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:69:5: 69:45
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_3); // scope 0 at $DIR/lower_intrinsics.rs:69:44: 69:45
|
||||
StorageDead(_4); // scope 0 at $DIR/lower_intrinsics.rs:69:45: 69:46
|
||||
StorageDead(_2); // scope 0 at $DIR/lower_intrinsics.rs:69:45: 69:46
|
||||
StorageLive(_5); // scope 0 at $DIR/lower_intrinsics.rs:70:5: 70:45
|
||||
StorageLive(_6); // scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
StorageLive(_7); // scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
_19 = const discriminant::<T>::promoted[2]; // scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
// ty::Const
|
||||
// + ty: &i32
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:27 ~ lower_intrinsics[8787]::discriminant), const_param_did: None }, [T], Some(promoted[2]))
|
||||
// mir::Constant
|
||||
// + span: $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:27 ~ lower_intrinsics[8787]::discriminant), const_param_did: None }, [T], Some(promoted[2])) }
|
||||
_7 = &(*_19); // scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
_6 = &(*_7); // scope 0 at $DIR/lower_intrinsics.rs:70:42: 70:44
|
||||
- _5 = discriminant_value::<i32>(move _6) -> bb2; // scope 0 at $DIR/lower_intrinsics.rs:70:5: 70:45
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/lower_intrinsics.rs:70:5: 70:41
|
||||
- // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r i32) -> <i32 as std::marker::DiscriminantKind>::Discriminant {std::intrinsics::discriminant_value::<i32>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _5 = discriminant((*_6)); // scope 0 at $DIR/lower_intrinsics.rs:70:5: 70:45
|
||||
+ goto -> bb2; // scope 0 at $DIR/lower_intrinsics.rs:70:5: 70:45
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_6); // scope 0 at $DIR/lower_intrinsics.rs:70:44: 70:45
|
||||
StorageDead(_7); // scope 0 at $DIR/lower_intrinsics.rs:70:45: 70:46
|
||||
StorageDead(_5); // scope 0 at $DIR/lower_intrinsics.rs:70:45: 70:46
|
||||
StorageLive(_9); // scope 0 at $DIR/lower_intrinsics.rs:71:5: 71:46
|
||||
StorageLive(_10); // scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
StorageLive(_11); // scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
_18 = const discriminant::<T>::promoted[1]; // scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
// ty::Const
|
||||
// + ty: &()
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:27 ~ lower_intrinsics[8787]::discriminant), const_param_did: None }, [T], Some(promoted[1]))
|
||||
// mir::Constant
|
||||
// + span: $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
// + literal: Const { ty: &(), val: Unevaluated(WithOptConstParam { did: DefId(0:27 ~ lower_intrinsics[8787]::discriminant), const_param_did: None }, [T], Some(promoted[1])) }
|
||||
_11 = &(*_18); // scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
_10 = &(*_11); // scope 0 at $DIR/lower_intrinsics.rs:71:42: 71:45
|
||||
- _9 = discriminant_value::<()>(move _10) -> bb3; // scope 0 at $DIR/lower_intrinsics.rs:71:5: 71:46
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/lower_intrinsics.rs:71:5: 71:41
|
||||
- // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r ()) -> <() as std::marker::DiscriminantKind>::Discriminant {std::intrinsics::discriminant_value::<()>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _9 = discriminant((*_10)); // scope 0 at $DIR/lower_intrinsics.rs:71:5: 71:46
|
||||
+ goto -> bb3; // scope 0 at $DIR/lower_intrinsics.rs:71:5: 71:46
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_10); // scope 0 at $DIR/lower_intrinsics.rs:71:45: 71:46
|
||||
StorageDead(_11); // scope 0 at $DIR/lower_intrinsics.rs:71:46: 71:47
|
||||
StorageDead(_9); // scope 0 at $DIR/lower_intrinsics.rs:71:46: 71:47
|
||||
StorageLive(_13); // scope 0 at $DIR/lower_intrinsics.rs:72:5: 72:48
|
||||
StorageLive(_14); // scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
StorageLive(_15); // scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
_17 = const discriminant::<T>::promoted[0]; // scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
// ty::Const
|
||||
// + ty: &E
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:27 ~ lower_intrinsics[8787]::discriminant), const_param_did: None }, [T], Some(promoted[0]))
|
||||
// mir::Constant
|
||||
// + span: $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
// + literal: Const { ty: &E, val: Unevaluated(WithOptConstParam { did: DefId(0:27 ~ lower_intrinsics[8787]::discriminant), const_param_did: None }, [T], Some(promoted[0])) }
|
||||
_15 = &(*_17); // scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
_14 = &(*_15); // scope 0 at $DIR/lower_intrinsics.rs:72:42: 72:47
|
||||
- _13 = discriminant_value::<E>(move _14) -> bb4; // scope 0 at $DIR/lower_intrinsics.rs:72:5: 72:48
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/lower_intrinsics.rs:72:5: 72:41
|
||||
- // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r E) -> <E as std::marker::DiscriminantKind>::Discriminant {std::intrinsics::discriminant_value::<E>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _13 = discriminant((*_14)); // scope 0 at $DIR/lower_intrinsics.rs:72:5: 72:48
|
||||
+ goto -> bb4; // scope 0 at $DIR/lower_intrinsics.rs:72:5: 72:48
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_14); // scope 0 at $DIR/lower_intrinsics.rs:72:47: 72:48
|
||||
StorageDead(_15); // scope 0 at $DIR/lower_intrinsics.rs:72:48: 72:49
|
||||
StorageDead(_13); // scope 0 at $DIR/lower_intrinsics.rs:72:48: 72:49
|
||||
_0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:68:30: 73:2
|
||||
drop(_1) -> bb5; // scope 0 at $DIR/lower_intrinsics.rs:73:1: 73:2
|
||||
}
|
||||
|
||||
bb5: {
|
||||
return; // scope 0 at $DIR/lower_intrinsics.rs:73:2: 73:2
|
||||
}
|
||||
|
||||
bb6 (cleanup): {
|
||||
resume; // scope 0 at $DIR/lower_intrinsics.rs:68:1: 73:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4,28 +4,30 @@
|
|||
fn forget(_1: T) -> () {
|
||||
debug t => _1; // in scope 0 at $DIR/lower_intrinsics.rs:18:18: 18:19
|
||||
let mut _0: (); // return place in scope 0 at $DIR/lower_intrinsics.rs:18:24: 18:24
|
||||
let _2: (); // in scope 0 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
let mut _3: T; // in scope 0 at $DIR/lower_intrinsics.rs:19:39: 19:40
|
||||
scope 1 {
|
||||
}
|
||||
let mut _2: T; // in scope 0 at $DIR/lower_intrinsics.rs:19:30: 19:31
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:43
|
||||
StorageLive(_3); // scope 1 at $DIR/lower_intrinsics.rs:19:39: 19:40
|
||||
_3 = move _1; // scope 1 at $DIR/lower_intrinsics.rs:19:39: 19:40
|
||||
- _2 = std::intrinsics::forget::<T>(move _3) -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
StorageLive(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:30: 19:31
|
||||
_2 = move _1; // scope 0 at $DIR/lower_intrinsics.rs:19:30: 19:31
|
||||
- _0 = std::intrinsics::forget::<T>(move _2) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:32
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/lower_intrinsics.rs:19:14: 19:38
|
||||
- // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(T) {std::intrinsics::forget::<T>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _2 = const (); // scope 1 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
+ goto -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
- // + span: $DIR/lower_intrinsics.rs:19:5: 19:29
|
||||
- // + literal: Const { ty: extern "rust-intrinsic" fn(T) {std::intrinsics::forget::<T>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:32
|
||||
+ goto -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:32
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_3); // scope 1 at $DIR/lower_intrinsics.rs:19:40: 19:41
|
||||
StorageDead(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:43: 19:44
|
||||
_0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:18:24: 20:2
|
||||
StorageDead(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:31: 19:32
|
||||
goto -> bb2; // scope 0 at $DIR/lower_intrinsics.rs:20:1: 20:2
|
||||
}
|
||||
|
||||
bb2: {
|
||||
return; // scope 0 at $DIR/lower_intrinsics.rs:20:2: 20:2
|
||||
}
|
||||
|
||||
bb3 (cleanup): {
|
||||
resume; // scope 0 at $DIR/lower_intrinsics.rs:18:1: 20:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,5 +27,9 @@
|
|||
StorageDead(_1); // scope 0 at $DIR/lower_intrinsics.rs:59:1: 59:2
|
||||
return; // scope 0 at $DIR/lower_intrinsics.rs:59:2: 59:2
|
||||
}
|
||||
|
||||
bb2 (cleanup): {
|
||||
resume; // scope 0 at $DIR/lower_intrinsics.rs:55:1: 59:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ pub fn size_of<T>() -> usize {
|
|||
|
||||
// EMIT_MIR lower_intrinsics.forget.LowerIntrinsics.diff
|
||||
pub fn forget<T>(t: T) {
|
||||
unsafe { core::intrinsics::forget(t) };
|
||||
core::intrinsics::forget(t)
|
||||
}
|
||||
|
||||
// EMIT_MIR lower_intrinsics.unreachable.LowerIntrinsics.diff
|
||||
|
|
@ -45,11 +45,11 @@ pub fn f_dispatch<T>(t: T) {
|
|||
}
|
||||
|
||||
#[inline(never)]
|
||||
pub fn f_zst<T>(t: T) {
|
||||
pub fn f_zst<T>(_t: T) {
|
||||
}
|
||||
|
||||
#[inline(never)]
|
||||
pub fn f_non_zst<T>(t: T) {}
|
||||
pub fn f_non_zst<T>(_t: T) {}
|
||||
|
||||
// EMIT_MIR lower_intrinsics.non_const.LowerIntrinsics.diff
|
||||
pub fn non_const<T>() -> usize {
|
||||
|
|
@ -57,3 +57,17 @@ pub fn non_const<T>() -> usize {
|
|||
let size_of_t = core::intrinsics::size_of::<T>;
|
||||
size_of_t()
|
||||
}
|
||||
|
||||
pub enum E {
|
||||
A,
|
||||
B,
|
||||
C,
|
||||
}
|
||||
|
||||
// EMIT_MIR lower_intrinsics.discriminant.LowerIntrinsics.diff
|
||||
pub fn discriminant<T>(t: T) {
|
||||
core::intrinsics::discriminant_value(&t);
|
||||
core::intrinsics::discriminant_value(&0);
|
||||
core::intrinsics::discriminant_value(&());
|
||||
core::intrinsics::discriminant_value(&E::B);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,5 +16,9 @@
|
|||
bb1: {
|
||||
return; // scope 0 at $DIR/lower_intrinsics.rs:15:2: 15:2
|
||||
}
|
||||
|
||||
bb2 (cleanup): {
|
||||
resume; // scope 0 at $DIR/lower_intrinsics.rs:13:1: 15:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,5 +18,9 @@
|
|||
- // + literal: Const { ty: unsafe extern "rust-intrinsic" fn() -> ! {std::intrinsics::unreachable}, val: Value(Scalar(<ZST>)) }
|
||||
+ unreachable; // scope 1 at $DIR/lower_intrinsics.rs:24:14: 24:45
|
||||
}
|
||||
|
||||
bb1 (cleanup): {
|
||||
resume; // scope 0 at $DIR/lower_intrinsics.rs:23:1: 25:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,5 +79,9 @@
|
|||
StorageDead(_3); // scope 0 at $DIR/lower_intrinsics.rs:10:1: 10:2
|
||||
return; // scope 0 at $DIR/lower_intrinsics.rs:10:2: 10:2
|
||||
}
|
||||
|
||||
bb4 (cleanup): {
|
||||
resume; // scope 0 at $DIR/lower_intrinsics.rs:6:1: 10:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,9 +42,6 @@
|
|||
// mir::Constant
|
||||
// + span: $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:12
|
||||
// + literal: Const { ty: fn(((), ())) {use_zst}, val: Value(Scalar(<ZST>)) }
|
||||
// ty::Const
|
||||
// + ty: ((), ())
|
||||
// + val: Value(Scalar(<ZST>))
|
||||
// mir::Constant
|
||||
// + span: $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
|
||||
// + literal: Const { ty: ((), ()), val: Value(Scalar(<ZST>)) }
|
||||
|
|
|
|||
|
|
@ -9,11 +9,13 @@
|
|||
BASEDIR=../coverage-reports
|
||||
SOURCEDIR=../coverage
|
||||
|
||||
# The `llvm-cov show` flag `--debug`, used to generate the `counters` output files, is only enabled
|
||||
# if LLVM assertions are enabled. Requires Rust config `llvm/optimize` and not
|
||||
# The `llvm-cov show` flag `--debug`, used to generate the `counters` output files, is only
|
||||
# enabled if LLVM assertions are enabled. This requires Rust config `llvm/optimize` and not
|
||||
# `llvm/release_debuginfo`. Note that some CI builds disable debug assertions (by setting
|
||||
# `NO_LLVM_ASSERTIONS=1`), so it is not OK to fail the test, but `bless`ed test results cannot be
|
||||
# generated without debug assertions.
|
||||
# `NO_LLVM_ASSERTIONS=1`), so the tests must still pass even if the `--debug` flag is
|
||||
# not supported. (Note that `counters` files are only produced in the `$(TMPDIR)`
|
||||
# directory, for inspection and debugging support. They are *not* copied to `expected_*`
|
||||
# files when `--bless`ed.)
|
||||
LLVM_COV_DEBUG := $(shell \
|
||||
"$(LLVM_BIN_DIR)"/llvm-cov show --debug 2>&1 | \
|
||||
grep -q "Unknown command line argument '--debug'"; \
|
||||
|
|
@ -51,11 +53,10 @@ endif
|
|||
# Yes these `--ignore-filename-regex=` options are included in all invocations of `llvm-cov show`
|
||||
# for now, but it is effectively ignored for all tests that don't include this file anyway.
|
||||
#
|
||||
# Note that it's also possible the `_counters.<test>.txt` and `<test>.json` files may order
|
||||
# results from multiple files inconsistently, which might also have to be accomodated if and when
|
||||
# we allow `llvm-cov` to produce results for multiple files. (The path separators appear to be
|
||||
# normalized to `/` in those files, thankfully.) But since we are ignoring results for all but one
|
||||
# file, this workaround addresses those potential issues as well.
|
||||
# (Note that it's also possible the `_counters.<test>.txt` and `<test>.json` files (if generated)
|
||||
# may order results from multiple files inconsistently, which might also have to be accomodated
|
||||
# if and when we allow `llvm-cov` to produce results for multiple files. Note, the path separators
|
||||
# appear to be normalized to `/` in those files, thankfully.)
|
||||
LLVM_COV_IGNORE_FILES=\
|
||||
--ignore-filename-regex=uses_crate.rs
|
||||
|
||||
|
|
@ -77,9 +78,7 @@ endif
|
|||
.PHONY: clear_expected_if_blessed
|
||||
clear_expected_if_blessed:
|
||||
ifdef RUSTC_BLESS_TEST
|
||||
rm -f expected_export_coverage.*.json
|
||||
rm -f expected_show_coverage.*.txt
|
||||
rm -f expected_show_coverage_counters.*.txt
|
||||
rm -f expected_*
|
||||
endif
|
||||
|
||||
-include clear_expected_if_blessed
|
||||
|
|
@ -99,7 +98,7 @@ endif
|
|||
# Run it in order to generate some profiling data,
|
||||
# with `LLVM_PROFILE_FILE=<profdata_file>` environment variable set to
|
||||
# output the coverage stats for this run.
|
||||
LLVM_PROFILE_FILE="$(TMPDIR)"/$@.profraw \
|
||||
LLVM_PROFILE_FILE="$(TMPDIR)"/$@-%p.profraw \
|
||||
$(call RUN,$@) || \
|
||||
( \
|
||||
status=$$?; \
|
||||
|
|
@ -109,9 +108,16 @@ endif
|
|||
) \
|
||||
)
|
||||
|
||||
# Run it through rustdoc as well to cover doctests
|
||||
LLVM_PROFILE_FILE="$(TMPDIR)"/$@-%p.profraw \
|
||||
$(RUSTDOC) --crate-name workaround_for_79771 --test $(SOURCEDIR)/$@.rs \
|
||||
$$( grep -q '^\/\/ require-rust-edition-2018' $(SOURCEDIR)/$@.rs && echo "--edition=2018" ) \
|
||||
-L "$(TMPDIR)" -Zinstrument-coverage \
|
||||
-Z unstable-options --persist-doctests=$(TMPDIR)/rustdoc-$@
|
||||
|
||||
# Postprocess the profiling data so it can be used by the llvm-cov tool
|
||||
"$(LLVM_BIN_DIR)"/llvm-profdata merge --sparse \
|
||||
"$(TMPDIR)"/$@.profraw \
|
||||
"$(TMPDIR)"/$@-*.profraw \
|
||||
-o "$(TMPDIR)"/$@.profdata
|
||||
|
||||
# Generate a coverage report using `llvm-cov show`.
|
||||
|
|
@ -122,8 +128,15 @@ endif
|
|||
--show-line-counts-or-regions \
|
||||
--instr-profile="$(TMPDIR)"/$@.profdata \
|
||||
$(call BIN,"$(TMPDIR)"/$@) \
|
||||
> "$(TMPDIR)"/actual_show_coverage.$@.txt \
|
||||
2> "$(TMPDIR)"/show_coverage_stderr.$@.txt || \
|
||||
$$( \
|
||||
for file in $(TMPDIR)/rustdoc-$@/*/rust_out; \
|
||||
do \
|
||||
[[ -x $$file ]] && printf "%s %s " -object $$file; \
|
||||
done \
|
||||
) \
|
||||
2> "$(TMPDIR)"/show_coverage_stderr.$@.txt \
|
||||
| "$(PYTHON)" $(BASEDIR)/normalize_paths.py \
|
||||
> "$(TMPDIR)"/actual_show_coverage.$@.txt || \
|
||||
( status=$$? ; \
|
||||
>&2 cat "$(TMPDIR)"/show_coverage_stderr.$@.txt ; \
|
||||
exit $$status \
|
||||
|
|
@ -140,12 +153,8 @@ endif
|
|||
ifdef RUSTC_BLESS_TEST
|
||||
cp "$(TMPDIR)"/actual_show_coverage.$@.txt \
|
||||
expected_show_coverage.$@.txt
|
||||
cp "$(TMPDIR)"/actual_show_coverage_counters.$@.txt \
|
||||
expected_show_coverage_counters.$@.txt
|
||||
else
|
||||
# Compare the show coverage output (`--bless` refreshes `typical` files)
|
||||
# Note `llvm-cov show` output for some programs can vary, but can be ignored
|
||||
# by inserting `// ignore-llvm-cov-show-diffs` at the top of the source file.
|
||||
# Compare the show coverage output (`--bless` refreshes `typical` files).
|
||||
#
|
||||
# FIXME(richkadel): None of the Rust test source samples have the
|
||||
# `// ignore-llvm-cov-show-diffs` anymore. This directive exists to work around a limitation
|
||||
|
|
@ -158,8 +167,10 @@ else
|
|||
#
|
||||
# This workaround only works if the coverage counts are identical across all reported
|
||||
# instantiations. If there is no way to ensure this, you may need to apply the
|
||||
# `// ignore-llvm-cov-show-diffs` directive, and rely on the `.json` and counter
|
||||
# files for validating results have not changed.
|
||||
# `// ignore-llvm-cov-show-diffs` directive, and check for differences using the
|
||||
# `.json` files to validate that results have not changed. (Until then, the JSON
|
||||
# files are redundant, so there is no need to generate `expected_*.json` files or
|
||||
# compare actual JSON results.)
|
||||
|
||||
$(DIFF) --ignore-matching-lines='::<.*>.*:$$' \
|
||||
expected_show_coverage.$@.txt "$(TMPDIR)"/actual_show_coverage.$@.txt || \
|
||||
|
|
@ -169,37 +180,77 @@ else
|
|||
( >&2 echo 'diff failed, and not suppressed without `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs'; \
|
||||
false \
|
||||
)
|
||||
|
||||
ifdef DEBUG_FLAG
|
||||
$(DIFF) expected_show_coverage_counters.$@.txt "$(TMPDIR)"/actual_show_coverage_counters.$@.txt || \
|
||||
( grep -q '^\/\/ ignore-llvm-cov-show-diffs' $(SOURCEDIR)/$@.rs && \
|
||||
>&2 echo 'diff failed, but suppressed with `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs' \
|
||||
) || \
|
||||
( >&2 echo 'diff failed, and not suppressed without `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs'; \
|
||||
>&2 echo '(Ignore anyway until mangled function names in "counters" files are demangled.)' \
|
||||
)
|
||||
|
||||
# FIXME(richkadel): Apply the demangler to the `*_show_coverage_counters.*.txt` files,
|
||||
# so the crate disambiguator differences will be stripped away. At that point, these files
|
||||
# will be less likely to vary, and the last `echo` above (starting with "Ignore anyway")
|
||||
# can be replaced with `false` to fail the test.
|
||||
endif
|
||||
|
||||
endif
|
||||
####################################################################################################
|
||||
|
||||
# Generate a coverage report in JSON, using `llvm-cov export`, and fail if
|
||||
# there are differences from the expected output.
|
||||
"$(LLVM_BIN_DIR)"/llvm-cov export \
|
||||
$(LLVM_COV_IGNORE_FILES) \
|
||||
--summary-only \
|
||||
--instr-profile="$(TMPDIR)"/$@.profdata \
|
||||
$(call BIN,"$(TMPDIR)"/$@) \
|
||||
| "$(PYTHON)" $(BASEDIR)/prettify_json.py \
|
||||
> "$(TMPDIR)"/actual_export_coverage.$@.json
|
||||
# The following Makefile content was used to copy the generated `counters` files
|
||||
# to `expected_` files (when `--bless`ed) and to compare them via `diff`; but for
|
||||
# multiple reasons, these files cannot easily be used for test validation:
|
||||
#
|
||||
# * Output lines can be produced in non-deterministic order (depending on the
|
||||
# target platform, and sometimes on unrelated codegen changes).
|
||||
# * Some lines include demangled function names, making them more challenging
|
||||
# to interpret and compare.
|
||||
#
|
||||
# The files are still generated (in `$(TMPDIR)`) to support developers wanting
|
||||
# to inspect the counters, for debugging purposes.
|
||||
#
|
||||
# ifdef RUSTC_BLESS_TEST
|
||||
# cp "$(TMPDIR)"/actual_show_coverage_counters.$@.txt \
|
||||
# expected_show_coverage_counters.$@.txt
|
||||
# else
|
||||
#
|
||||
# ifdef DEBUG_FLAG
|
||||
# $(DIFF) expected_show_coverage_counters.$@.txt "$(TMPDIR)"/actual_show_coverage_counters.$@.txt || \
|
||||
# ( grep -q '^\/\/ ignore-llvm-cov-show-diffs' $(SOURCEDIR)/$@.rs && \
|
||||
# >&2 echo 'diff failed, but suppressed with `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs' \
|
||||
# ) || \
|
||||
# ( >&2 echo 'diff failed, and not suppressed without `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs'; \
|
||||
# >&2 echo '(Ignore anyway until mangled function names in "counters" files are demangled.)' \
|
||||
# )
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
||||
ifdef RUSTC_BLESS_TEST
|
||||
cp "$(TMPDIR)"/actual_export_coverage.$@.json expected_export_coverage.$@.json
|
||||
else
|
||||
# Check that exported JSON coverage data matches what we expect (`--bless` refreshes `expected`)
|
||||
$(DIFF) expected_export_coverage.$@.json "$(TMPDIR)"/actual_export_coverage.$@.json
|
||||
endif
|
||||
####################################################################################################
|
||||
|
||||
# The following Makefile content, and short JSON script, were used to generate
|
||||
# coverage reports in JSON when the `llvm-cov show` reports were less reliable for
|
||||
# testing. At the present time, however, the `llvm-cov show` results, and methods
|
||||
# for comparing them, are working for all tests, making the JSON reports redundant.
|
||||
#
|
||||
# If this changes in the future, the scripts are left here, commented out, but can
|
||||
# be resurrected if desired. This could be used to compare *only* the JSON files;
|
||||
# and in that case, the `llvm-cov show` reports can be ignored by inserting
|
||||
# `// ignore-llvm-cov-show-diffs` at the top of the source file.
|
||||
#
|
||||
# # Generate a coverage report in JSON, using `llvm-cov export`, and fail if
|
||||
# # there are differences from the expected output.
|
||||
# "$(LLVM_BIN_DIR)"/llvm-cov export \
|
||||
# $(LLVM_COV_IGNORE_FILES) \
|
||||
# --summary-only \
|
||||
# --instr-profile="$(TMPDIR)"/$@.profdata \
|
||||
# $(call BIN,"$(TMPDIR)"/$@) \
|
||||
# | "$(PYTHON)" $(BASEDIR)/prettify_json.py \
|
||||
# > "$(TMPDIR)"/actual_export_coverage.$@.json
|
||||
#
|
||||
# ifdef RUSTC_BLESS_TEST
|
||||
# cp "$(TMPDIR)"/actual_export_coverage.$@.json expected_export_coverage.$@.json
|
||||
# else
|
||||
# # Check that exported JSON coverage data matches what we expect (`--bless` refreshes `expected`)
|
||||
# $(DIFF) expected_export_coverage.$@.json "$(TMPDIR)"/actual_export_coverage.$@.json
|
||||
# endif
|
||||
#
|
||||
# # # If generating coverage reports in JSON, this Makefile is accompanied by
|
||||
# # # a Python script, `prettify_json.py`, which is defined:
|
||||
# #
|
||||
# # #!/usr/bin/env python
|
||||
# #
|
||||
# # import sys
|
||||
# # import json
|
||||
# #
|
||||
# # # Try to decode line in order to ensure it is a valid JSON document
|
||||
# # for line in sys.stdin:
|
||||
# # parsed = json.loads(line)
|
||||
# # print (json.dumps(parsed, indent=2, separators=(',', ': '), sort_keys=True))
|
||||
|
|
|
|||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/abort.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 19,
|
||||
"covered": 17,
|
||||
"percent": 89.47368421052632
|
||||
},
|
||||
"regions": {
|
||||
"count": 17,
|
||||
"covered": 16,
|
||||
"notcovered": 1,
|
||||
"percent": 94.11764705882352
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 19,
|
||||
"covered": 17,
|
||||
"percent": 89.47368421052632
|
||||
},
|
||||
"regions": {
|
||||
"count": 17,
|
||||
"covered": 16,
|
||||
"notcovered": 1,
|
||||
"percent": 94.11764705882352
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/assert.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 15,
|
||||
"covered": 12,
|
||||
"percent": 80
|
||||
},
|
||||
"regions": {
|
||||
"count": 14,
|
||||
"covered": 12,
|
||||
"notcovered": 2,
|
||||
"percent": 85.71428571428571
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 15,
|
||||
"covered": 12,
|
||||
"percent": 80
|
||||
},
|
||||
"regions": {
|
||||
"count": 14,
|
||||
"covered": 12,
|
||||
"notcovered": 2,
|
||||
"percent": 85.71428571428571
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/async.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 17,
|
||||
"covered": 16,
|
||||
"percent": 94.11764705882352
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 17,
|
||||
"covered": 16,
|
||||
"percent": 94.11764705882352
|
||||
},
|
||||
"lines": {
|
||||
"count": 105,
|
||||
"covered": 77,
|
||||
"percent": 73.33333333333333
|
||||
},
|
||||
"regions": {
|
||||
"count": 78,
|
||||
"covered": 36,
|
||||
"notcovered": 42,
|
||||
"percent": 46.15384615384615
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 17,
|
||||
"covered": 16,
|
||||
"percent": 94.11764705882352
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 17,
|
||||
"covered": 16,
|
||||
"percent": 94.11764705882352
|
||||
},
|
||||
"lines": {
|
||||
"count": 105,
|
||||
"covered": 77,
|
||||
"percent": 73.33333333333333
|
||||
},
|
||||
"regions": {
|
||||
"count": 78,
|
||||
"covered": 36,
|
||||
"notcovered": 42,
|
||||
"percent": 46.15384615384615
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/closure.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 6,
|
||||
"covered": 4,
|
||||
"percent": 66.66666666666666
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 6,
|
||||
"covered": 4,
|
||||
"percent": 66.66666666666666
|
||||
},
|
||||
"lines": {
|
||||
"count": 161,
|
||||
"covered": 131,
|
||||
"percent": 81.36645962732919
|
||||
},
|
||||
"regions": {
|
||||
"count": 42,
|
||||
"covered": 22,
|
||||
"notcovered": 20,
|
||||
"percent": 52.38095238095239
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 6,
|
||||
"covered": 4,
|
||||
"percent": 66.66666666666666
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 6,
|
||||
"covered": 4,
|
||||
"percent": 66.66666666666666
|
||||
},
|
||||
"lines": {
|
||||
"count": 161,
|
||||
"covered": 131,
|
||||
"percent": 81.36645962732919
|
||||
},
|
||||
"regions": {
|
||||
"count": 42,
|
||||
"covered": 22,
|
||||
"notcovered": 20,
|
||||
"percent": 52.38095238095239
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/conditions.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 64,
|
||||
"covered": 33,
|
||||
"percent": 51.5625
|
||||
},
|
||||
"regions": {
|
||||
"count": 64,
|
||||
"covered": 21,
|
||||
"notcovered": 43,
|
||||
"percent": 32.8125
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 64,
|
||||
"covered": 33,
|
||||
"percent": 51.5625
|
||||
},
|
||||
"regions": {
|
||||
"count": 64,
|
||||
"covered": 21,
|
||||
"notcovered": 43,
|
||||
"percent": 32.8125
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/dead_code.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 0,
|
||||
"percent": 0
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 0,
|
||||
"percent": 0
|
||||
},
|
||||
"lines": {
|
||||
"count": 33,
|
||||
"covered": 11,
|
||||
"percent": 33.33333333333333
|
||||
},
|
||||
"regions": {
|
||||
"count": 12,
|
||||
"covered": 3,
|
||||
"notcovered": 9,
|
||||
"percent": 25
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 0,
|
||||
"percent": 0
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 0,
|
||||
"percent": 0
|
||||
},
|
||||
"lines": {
|
||||
"count": 33,
|
||||
"covered": 11,
|
||||
"percent": 33.33333333333333
|
||||
},
|
||||
"regions": {
|
||||
"count": 12,
|
||||
"covered": 3,
|
||||
"notcovered": 9,
|
||||
"percent": 25
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/drop_trait.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 12,
|
||||
"covered": 12,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 12,
|
||||
"covered": 12,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/generics.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 3,
|
||||
"covered": 3,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 5,
|
||||
"covered": 5,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 18,
|
||||
"covered": 18,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 5,
|
||||
"covered": 5,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 3,
|
||||
"covered": 3,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 5,
|
||||
"covered": 5,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 18,
|
||||
"covered": 18,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 5,
|
||||
"covered": 5,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/if.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 26,
|
||||
"covered": 26,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 4,
|
||||
"covered": 3,
|
||||
"notcovered": 1,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 26,
|
||||
"covered": 26,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 4,
|
||||
"covered": 3,
|
||||
"notcovered": 1,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/if_else.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 32,
|
||||
"covered": 23,
|
||||
"percent": 71.875
|
||||
},
|
||||
"regions": {
|
||||
"count": 7,
|
||||
"covered": 5,
|
||||
"notcovered": 2,
|
||||
"percent": 71.42857142857143
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 32,
|
||||
"covered": 23,
|
||||
"percent": 71.875
|
||||
},
|
||||
"regions": {
|
||||
"count": 7,
|
||||
"covered": 5,
|
||||
"notcovered": 2,
|
||||
"percent": 71.42857142857143
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/inner_items.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 29,
|
||||
"covered": 29,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 11,
|
||||
"covered": 9,
|
||||
"notcovered": 2,
|
||||
"percent": 81.81818181818183
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 29,
|
||||
"covered": 29,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 11,
|
||||
"covered": 9,
|
||||
"notcovered": 2,
|
||||
"percent": 81.81818181818183
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/lazy_boolean.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 44,
|
||||
"covered": 33,
|
||||
"percent": 75
|
||||
},
|
||||
"regions": {
|
||||
"count": 28,
|
||||
"covered": 21,
|
||||
"notcovered": 7,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 44,
|
||||
"covered": 33,
|
||||
"percent": 75
|
||||
},
|
||||
"regions": {
|
||||
"count": 28,
|
||||
"covered": 21,
|
||||
"notcovered": 7,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/loop_break_value.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 11,
|
||||
"covered": 11,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 11,
|
||||
"covered": 11,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/loops_branches.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 11,
|
||||
"covered": 11,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 8,
|
||||
"covered": 7,
|
||||
"notcovered": 1,
|
||||
"percent": 87.5
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 11,
|
||||
"covered": 11,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 8,
|
||||
"covered": 7,
|
||||
"notcovered": 1,
|
||||
"percent": 87.5
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/nested_loops.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 22,
|
||||
"covered": 17,
|
||||
"percent": 77.27272727272727
|
||||
},
|
||||
"regions": {
|
||||
"count": 14,
|
||||
"covered": 11,
|
||||
"notcovered": 3,
|
||||
"percent": 78.57142857142857
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 22,
|
||||
"covered": 17,
|
||||
"percent": 77.27272727272727
|
||||
},
|
||||
"regions": {
|
||||
"count": 14,
|
||||
"covered": 11,
|
||||
"notcovered": 3,
|
||||
"percent": 78.57142857142857
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/overflow.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 23,
|
||||
"covered": 19,
|
||||
"percent": 82.6086956521739
|
||||
},
|
||||
"regions": {
|
||||
"count": 13,
|
||||
"covered": 11,
|
||||
"notcovered": 2,
|
||||
"percent": 84.61538461538461
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 23,
|
||||
"covered": 19,
|
||||
"percent": 82.6086956521739
|
||||
},
|
||||
"regions": {
|
||||
"count": 13,
|
||||
"covered": 11,
|
||||
"notcovered": 2,
|
||||
"percent": 84.61538461538461
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/panic_unwind.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 19,
|
||||
"covered": 16,
|
||||
"percent": 84.21052631578947
|
||||
},
|
||||
"regions": {
|
||||
"count": 13,
|
||||
"covered": 11,
|
||||
"notcovered": 2,
|
||||
"percent": 84.61538461538461
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 19,
|
||||
"covered": 16,
|
||||
"percent": 84.21052631578947
|
||||
},
|
||||
"regions": {
|
||||
"count": 13,
|
||||
"covered": 11,
|
||||
"notcovered": 2,
|
||||
"percent": 84.61538461538461
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/partial_eq.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 5,
|
||||
"covered": 4,
|
||||
"percent": 80
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 5,
|
||||
"covered": 4,
|
||||
"percent": 80
|
||||
},
|
||||
"lines": {
|
||||
"count": 18,
|
||||
"covered": 16,
|
||||
"percent": 88.88888888888889
|
||||
},
|
||||
"regions": {
|
||||
"count": 24,
|
||||
"covered": 5,
|
||||
"notcovered": 19,
|
||||
"percent": 20.833333333333336
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 5,
|
||||
"covered": 4,
|
||||
"percent": 80
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 5,
|
||||
"covered": 4,
|
||||
"percent": 80
|
||||
},
|
||||
"lines": {
|
||||
"count": 18,
|
||||
"covered": 16,
|
||||
"percent": 88.88888888888889
|
||||
},
|
||||
"regions": {
|
||||
"count": 24,
|
||||
"covered": 5,
|
||||
"notcovered": 19,
|
||||
"percent": 20.833333333333336
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/simple_loop.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 25,
|
||||
"covered": 25,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 7,
|
||||
"covered": 6,
|
||||
"notcovered": 1,
|
||||
"percent": 85.71428571428571
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 25,
|
||||
"covered": 25,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 7,
|
||||
"covered": 6,
|
||||
"notcovered": 1,
|
||||
"percent": 85.71428571428571
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/simple_match.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 27,
|
||||
"covered": 27,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 11,
|
||||
"covered": 10,
|
||||
"notcovered": 1,
|
||||
"percent": 90.9090909090909
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 27,
|
||||
"covered": 27,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 11,
|
||||
"covered": 10,
|
||||
"notcovered": 1,
|
||||
"percent": 90.9090909090909
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/tight_inf_loop.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 4,
|
||||
"covered": 4,
|
||||
"percent": 100
|
||||
},
|
||||
"regions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"notcovered": 0,
|
||||
"percent": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/try_error_result.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 20,
|
||||
"covered": 18,
|
||||
"percent": 90
|
||||
},
|
||||
"regions": {
|
||||
"count": 16,
|
||||
"covered": 12,
|
||||
"notcovered": 4,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 2,
|
||||
"covered": 2,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 20,
|
||||
"covered": 18,
|
||||
"percent": 90
|
||||
},
|
||||
"regions": {
|
||||
"count": 16,
|
||||
"covered": 12,
|
||||
"notcovered": 4,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/lib/used_crate.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 6,
|
||||
"covered": 5,
|
||||
"percent": 83.33333333333334
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 10,
|
||||
"covered": 8,
|
||||
"percent": 80
|
||||
},
|
||||
"lines": {
|
||||
"count": 46,
|
||||
"covered": 26,
|
||||
"percent": 56.52173913043478
|
||||
},
|
||||
"regions": {
|
||||
"count": 19,
|
||||
"covered": 8,
|
||||
"notcovered": 11,
|
||||
"percent": 42.10526315789473
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 6,
|
||||
"covered": 5,
|
||||
"percent": 83.33333333333334
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 10,
|
||||
"covered": 8,
|
||||
"percent": 80
|
||||
},
|
||||
"lines": {
|
||||
"count": 46,
|
||||
"covered": 26,
|
||||
"percent": 56.52173913043478
|
||||
},
|
||||
"regions": {
|
||||
"count": 19,
|
||||
"covered": 8,
|
||||
"notcovered": 11,
|
||||
"percent": 42.10526315789473
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/while.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 5,
|
||||
"covered": 4,
|
||||
"percent": 80
|
||||
},
|
||||
"regions": {
|
||||
"count": 4,
|
||||
"covered": 3,
|
||||
"notcovered": 1,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 5,
|
||||
"covered": 4,
|
||||
"percent": 80
|
||||
},
|
||||
"regions": {
|
||||
"count": 4,
|
||||
"covered": 3,
|
||||
"notcovered": 1,
|
||||
"percent": 75
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/while_early_ret.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 19,
|
||||
"covered": 17,
|
||||
"percent": 89.47368421052632
|
||||
},
|
||||
"regions": {
|
||||
"count": 9,
|
||||
"covered": 7,
|
||||
"notcovered": 2,
|
||||
"percent": 77.77777777777779
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 1,
|
||||
"covered": 1,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 19,
|
||||
"covered": 17,
|
||||
"percent": 89.47368421052632
|
||||
},
|
||||
"regions": {
|
||||
"count": 9,
|
||||
"covered": 7,
|
||||
"notcovered": 2,
|
||||
"percent": 77.77777777777779
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"filename": "../coverage/yield.rs",
|
||||
"summary": {
|
||||
"functions": {
|
||||
"count": 3,
|
||||
"covered": 3,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 3,
|
||||
"covered": 3,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 26,
|
||||
"covered": 19,
|
||||
"percent": 73.07692307692307
|
||||
},
|
||||
"regions": {
|
||||
"count": 23,
|
||||
"covered": 17,
|
||||
"notcovered": 6,
|
||||
"percent": 73.91304347826086
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"functions": {
|
||||
"count": 3,
|
||||
"covered": 3,
|
||||
"percent": 100
|
||||
},
|
||||
"instantiations": {
|
||||
"count": 3,
|
||||
"covered": 3,
|
||||
"percent": 100
|
||||
},
|
||||
"lines": {
|
||||
"count": 26,
|
||||
"covered": 19,
|
||||
"percent": 73.07692307692307
|
||||
},
|
||||
"regions": {
|
||||
"count": 23,
|
||||
"covered": 17,
|
||||
"notcovered": 6,
|
||||
"percent": 73.91304347826086
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "llvm.coverage.json.export",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
|
@ -9,13 +9,13 @@
|
|||
8| |
|
||||
9| 1|fn main() -> Result<(),u8> {
|
||||
10| 1| let mut countdown = 10;
|
||||
11| 10| while countdown > 0 {
|
||||
12| 10| if countdown == 1 {
|
||||
13| 0| might_fail_assert(3);
|
||||
11| 11| while countdown > 0 {
|
||||
12| 11| if countdown == 1 {
|
||||
13| 1| might_fail_assert(3);
|
||||
14| 10| } else if countdown < 5 {
|
||||
15| 3| might_fail_assert(2);
|
||||
16| 6| }
|
||||
17| 9| countdown -= 1;
|
||||
17| 10| countdown -= 1;
|
||||
18| | }
|
||||
19| 0| Ok(())
|
||||
20| 0|}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,79 @@
|
|||
../coverage/doctest.rs:
|
||||
1| |//! This test ensures that code from doctests is properly re-mapped.
|
||||
2| |//! See <https://github.com/rust-lang/rust/issues/79417> for more info.
|
||||
3| |//!
|
||||
4| |//! Just some random code:
|
||||
5| 1|//! ```
|
||||
6| 1|//! if true {
|
||||
7| |//! // this is executed!
|
||||
8| 1|//! assert_eq!(1, 1);
|
||||
9| |//! } else {
|
||||
10| |//! // this is not!
|
||||
11| |//! assert_eq!(1, 2);
|
||||
12| |//! }
|
||||
13| 1|//! ```
|
||||
14| |//!
|
||||
15| |//! doctest testing external code:
|
||||
16| |//! ```
|
||||
17| 1|//! extern crate doctest_crate;
|
||||
18| 1|//! doctest_crate::fn_run_in_doctests(1);
|
||||
19| 1|//! ```
|
||||
20| |//!
|
||||
21| |//! doctest returning a result:
|
||||
22| 1|//! ```
|
||||
23| 1|//! #[derive(Debug)]
|
||||
24| 1|//! struct SomeError;
|
||||
25| 1|//! let mut res = Err(SomeError);
|
||||
26| 1|//! if res.is_ok() {
|
||||
27| 0|//! res?;
|
||||
28| 1|//! } else {
|
||||
29| 1|//! res = Ok(0);
|
||||
30| 1|//! }
|
||||
31| |//! // need to be explicit because rustdoc cant infer the return type
|
||||
32| 1|//! Ok::<(), SomeError>(())
|
||||
33| 1|//! ```
|
||||
34| |//!
|
||||
35| |//! doctest with custom main:
|
||||
36| |//! ```
|
||||
37| |//! #[derive(Debug)]
|
||||
38| |//! struct SomeError;
|
||||
39| |//!
|
||||
40| |//! extern crate doctest_crate;
|
||||
41| |//!
|
||||
42| 1|//! fn doctest_main() -> Result<(), SomeError> {
|
||||
43| 1|//! doctest_crate::fn_run_in_doctests(2);
|
||||
44| 1|//! Ok(())
|
||||
45| 1|//! }
|
||||
46| |//!
|
||||
47| |//! // this `main` is not shown as covered, as it clashes with all the other
|
||||
48| |//! // `main` functions that were automatically generated for doctests
|
||||
49| |//! fn main() -> Result<(), SomeError> {
|
||||
50| |//! doctest_main()
|
||||
51| |//! }
|
||||
52| |//! ```
|
||||
53| |
|
||||
54| |/// doctest attached to fn testing external code:
|
||||
55| |/// ```
|
||||
56| 1|/// extern crate doctest_crate;
|
||||
57| 1|/// doctest_crate::fn_run_in_doctests(3);
|
||||
58| 1|/// ```
|
||||
59| |///
|
||||
60| 1|fn main() {
|
||||
61| 1| if true {
|
||||
62| 1| assert_eq!(1, 1);
|
||||
63| | } else {
|
||||
64| | assert_eq!(1, 2);
|
||||
65| | }
|
||||
66| 1|}
|
||||
|
||||
../coverage/lib/doctest_crate.rs:
|
||||
1| |/// A function run only from within doctests
|
||||
2| 3|pub fn fn_run_in_doctests(conditional: usize) {
|
||||
3| 3| match conditional {
|
||||
4| 1| 1 => assert_eq!(1, 1), // this is run,
|
||||
5| 1| 2 => assert_eq!(1, 1), // this,
|
||||
6| 1| 3 => assert_eq!(1, 1), // and this too
|
||||
7| 0| _ => assert_eq!(1, 2), // however this is not
|
||||
8| | }
|
||||
9| 3|}
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
1| |#![feature(or_patterns)]
|
||||
2| |
|
||||
3| 1|fn main() {
|
||||
4| 1| // Initialize test constants in a way that cannot be determined at compile time, to ensure
|
||||
5| 1| // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
|
||||
6| 1| // dependent conditions.
|
||||
7| 1| let is_true = std::env::args().len() == 1;
|
||||
8| 1|
|
||||
9| 1| let mut a: u8 = 0;
|
||||
10| 1| let mut b: u8 = 0;
|
||||
11| 1| if is_true {
|
||||
12| 1| a = 2;
|
||||
13| 1| b = 0;
|
||||
14| 1| }
|
||||
^0
|
||||
15| 1| match (a, b) {
|
||||
16| | // Or patterns generate MIR `SwitchInt` with multiple targets to the same `BasicBlock`.
|
||||
17| | // This test confirms a fix for Issue #79569.
|
||||
18| 0| (0 | 1, 2 | 3) => {}
|
||||
19| 1| _ => {}
|
||||
20| | }
|
||||
21| 1| if is_true {
|
||||
22| 1| a = 0;
|
||||
23| 1| b = 0;
|
||||
24| 1| }
|
||||
^0
|
||||
25| 1| match (a, b) {
|
||||
26| 0| (0 | 1, 2 | 3) => {}
|
||||
27| 1| _ => {}
|
||||
28| | }
|
||||
29| 1| if is_true {
|
||||
30| 1| a = 2;
|
||||
31| 1| b = 2;
|
||||
32| 1| }
|
||||
^0
|
||||
33| 1| match (a, b) {
|
||||
34| 0| (0 | 1, 2 | 3) => {}
|
||||
35| 1| _ => {}
|
||||
36| | }
|
||||
37| 1| if is_true {
|
||||
38| 1| a = 0;
|
||||
39| 1| b = 2;
|
||||
40| 1| }
|
||||
^0
|
||||
41| 1| match (a, b) {
|
||||
42| 1| (0 | 1, 2 | 3) => {}
|
||||
43| 0| _ => {}
|
||||
44| | }
|
||||
45| 1|}
|
||||
|
||||
|
|
@ -14,15 +14,15 @@
|
|||
14| |
|
||||
15| 1|fn main() -> Result<(),u8> {
|
||||
16| 1| let mut countdown = 10;
|
||||
17| 10| while countdown > 0 {
|
||||
18| 10| if countdown == 1 {
|
||||
19| 0| let result = might_overflow(10);
|
||||
20| 0| println!("Result: {}", result);
|
||||
17| 11| while countdown > 0 {
|
||||
18| 11| if countdown == 1 {
|
||||
19| 1| let result = might_overflow(10);
|
||||
20| 1| println!("Result: {}", result);
|
||||
21| 10| } else if countdown < 5 {
|
||||
22| 3| let result = might_overflow(1);
|
||||
23| 3| println!("Result: {}", result);
|
||||
24| 6| }
|
||||
25| 9| countdown -= 1;
|
||||
25| 10| countdown -= 1;
|
||||
26| | }
|
||||
27| 0| Ok(())
|
||||
28| 0|}
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@
|
|||
12| |
|
||||
13| 1|fn main() -> Result<(), u8> {
|
||||
14| 1| let mut countdown = 10;
|
||||
15| 10| while countdown > 0 {
|
||||
16| 10| if countdown == 1 {
|
||||
17| 0| might_panic(true);
|
||||
15| 11| while countdown > 0 {
|
||||
16| 11| if countdown == 1 {
|
||||
17| 1| might_panic(true);
|
||||
18| 10| } else if countdown < 5 {
|
||||
19| 3| might_panic(false);
|
||||
20| 6| }
|
||||
21| 9| countdown -= 1;
|
||||
21| 10| countdown -= 1;
|
||||
22| | }
|
||||
23| 0| Ok(())
|
||||
24| 0|}
|
||||
|
|
|
|||
|
|
@ -19,12 +19,12 @@
|
|||
18| 2| println!("used_only_from_bin_crate_generic_function with {:?}", arg);
|
||||
19| 2|}
|
||||
------------------
|
||||
| used_crate::used_only_from_bin_crate_generic_function::<&str>:
|
||||
| used_crate::used_only_from_bin_crate_generic_function::<&alloc::vec::Vec<i32>>:
|
||||
| 17| 1|pub fn used_only_from_bin_crate_generic_function<T: Debug>(arg: T) {
|
||||
| 18| 1| println!("used_only_from_bin_crate_generic_function with {:?}", arg);
|
||||
| 19| 1|}
|
||||
------------------
|
||||
| used_crate::used_only_from_bin_crate_generic_function::<&alloc::vec::Vec<i32>>:
|
||||
| used_crate::used_only_from_bin_crate_generic_function::<&str>:
|
||||
| 17| 1|pub fn used_only_from_bin_crate_generic_function<T: Debug>(arg: T) {
|
||||
| 18| 1| println!("used_only_from_bin_crate_generic_function with {:?}", arg);
|
||||
| 19| 1|}
|
||||
|
|
|
|||
|
|
@ -1,67 +0,0 @@
|
|||
Counter in file 0 14:1 -> 15:27, #1
|
||||
Counter in file 0 16:11 -> 16:24, (#1 + (#2 + #3))
|
||||
Counter in file 0 17:12 -> 17:25, ((#1 + (#2 + #3)) - #4)
|
||||
Counter in file 0 17:26 -> 19:10, #5
|
||||
Counter in file 0 19:10 -> 19:11, (((#1 + (#2 + #3)) - #4) - #5)
|
||||
Counter in file 0 21:12 -> 21:25, (#5 + (((#1 + (#2 + #3)) - #4) - #5))
|
||||
Counter in file 0 21:26 -> 21:49, #6
|
||||
Counter in file 0 21:49 -> 21:50, ((#5 + (((#1 + (#2 + #3)) - #4) - #5)) - #6)
|
||||
Counter in file 0 25:12 -> 25:25, (#6 + ((#5 + (((#1 + (#2 + #3)) - #4) - #5)) - #6))
|
||||
Counter in file 0 25:26 -> 25:49, #2
|
||||
Counter in file 0 25:49 -> 25:50, #3
|
||||
Counter in file 0 26:9 -> 26:23, (#2 + #3)
|
||||
Counter in file 0 28:5 -> 29:2, #4
|
||||
Counter in file 0 5:1 -> 5:36, #1
|
||||
Counter in file 0 6:8 -> 6:20, (#1 + 0)
|
||||
Counter in file 0 7:9 -> 8:37, #2
|
||||
Counter in file 0 9:12 -> 12:2, (#1 - #2)
|
||||
Emitting segments for file: ../coverage/abort.rs
|
||||
Combined regions:
|
||||
5:1 -> 5:36 (count=12)
|
||||
6:8 -> 6:20 (count=12)
|
||||
7:9 -> 8:37 (count=0)
|
||||
9:12 -> 12:2 (count=12)
|
||||
14:1 -> 15:27 (count=1)
|
||||
16:11 -> 16:24 (count=11)
|
||||
17:12 -> 17:25 (count=10)
|
||||
17:26 -> 19:10 (count=4)
|
||||
19:10 -> 19:11 (count=6)
|
||||
21:12 -> 21:25 (count=10)
|
||||
21:26 -> 21:49 (count=4)
|
||||
21:49 -> 21:50 (count=6)
|
||||
25:12 -> 25:25 (count=10)
|
||||
25:26 -> 25:49 (count=4)
|
||||
25:49 -> 25:50 (count=6)
|
||||
26:9 -> 26:23 (count=10)
|
||||
28:5 -> 29:2 (count=1)
|
||||
Segment at 5:1 (count = 12), RegionEntry
|
||||
Segment at 5:36 (count = 0), Skipped
|
||||
Segment at 6:8 (count = 12), RegionEntry
|
||||
Segment at 6:20 (count = 0), Skipped
|
||||
Segment at 7:9 (count = 0), RegionEntry
|
||||
Segment at 8:37 (count = 0), Skipped
|
||||
Segment at 9:12 (count = 12), RegionEntry
|
||||
Segment at 12:2 (count = 0), Skipped
|
||||
Segment at 14:1 (count = 1), RegionEntry
|
||||
Segment at 15:27 (count = 0), Skipped
|
||||
Segment at 16:11 (count = 11), RegionEntry
|
||||
Segment at 16:24 (count = 0), Skipped
|
||||
Segment at 17:12 (count = 10), RegionEntry
|
||||
Segment at 17:25 (count = 0), Skipped
|
||||
Segment at 17:26 (count = 4), RegionEntry
|
||||
Segment at 19:10 (count = 6), RegionEntry
|
||||
Segment at 19:11 (count = 0), Skipped
|
||||
Segment at 21:12 (count = 10), RegionEntry
|
||||
Segment at 21:25 (count = 0), Skipped
|
||||
Segment at 21:26 (count = 4), RegionEntry
|
||||
Segment at 21:49 (count = 6), RegionEntry
|
||||
Segment at 21:50 (count = 0), Skipped
|
||||
Segment at 25:12 (count = 10), RegionEntry
|
||||
Segment at 25:25 (count = 0), Skipped
|
||||
Segment at 25:26 (count = 4), RegionEntry
|
||||
Segment at 25:49 (count = 6), RegionEntry
|
||||
Segment at 25:50 (count = 0), Skipped
|
||||
Segment at 26:9 (count = 10), RegionEntry
|
||||
Segment at 26:23 (count = 0), Skipped
|
||||
Segment at 28:5 (count = 1), RegionEntry
|
||||
Segment at 29:2 (count = 0), Skipped
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
Counter in file 0 9:1 -> 10:27, #1
|
||||
Counter in file 0 11:11 -> 11:24, (#1 + (#2 + (#3 + #4)))
|
||||
Counter in file 0 12:12 -> 12:26, ((#1 + (#2 + (#3 + #4))) - #5)
|
||||
Counter in file 0 12:27 -> 14:10, #2
|
||||
Counter in file 0 14:19 -> 14:32, (((#1 + (#2 + (#3 + #4))) - #5) - #2)
|
||||
Counter in file 0 14:33 -> 16:10, #3
|
||||
Counter in file 0 16:10 -> 16:11, #4
|
||||
Counter in file 0 17:9 -> 17:23, (#2 + (#3 + #4))
|
||||
Counter in file 0 19:5 -> 20:2, #5
|
||||
Counter in file 0 4:1 -> 4:41, #1
|
||||
Counter in file 0 5:5 -> 5:48, (#1 + 0)
|
||||
Counter in file 0 6:16 -> 6:21, (#1 + 0)
|
||||
Counter in file 0 6:37 -> 6:61, #2
|
||||
Counter in file 0 7:1 -> 7:2, (#1 - #2)
|
||||
Emitting segments for file: ../coverage/assert.rs
|
||||
Combined regions:
|
||||
4:1 -> 4:41 (count=4)
|
||||
5:5 -> 5:48 (count=4)
|
||||
6:16 -> 6:21 (count=4)
|
||||
6:37 -> 6:61 (count=1)
|
||||
7:1 -> 7:2 (count=3)
|
||||
9:1 -> 10:27 (count=1)
|
||||
11:11 -> 11:24 (count=10)
|
||||
12:12 -> 12:26 (count=10)
|
||||
12:27 -> 14:10 (count=0)
|
||||
14:19 -> 14:32 (count=10)
|
||||
14:33 -> 16:10 (count=3)
|
||||
16:10 -> 16:11 (count=6)
|
||||
17:9 -> 17:23 (count=9)
|
||||
19:5 -> 20:2 (count=0)
|
||||
Segment at 4:1 (count = 4), RegionEntry
|
||||
Segment at 4:41 (count = 0), Skipped
|
||||
Segment at 5:5 (count = 4), RegionEntry
|
||||
Segment at 5:48 (count = 0), Skipped
|
||||
Segment at 6:16 (count = 4), RegionEntry
|
||||
Segment at 6:21 (count = 0), Skipped
|
||||
Segment at 6:37 (count = 1), RegionEntry
|
||||
Segment at 6:61 (count = 0), Skipped
|
||||
Segment at 7:1 (count = 3), RegionEntry
|
||||
Segment at 7:2 (count = 0), Skipped
|
||||
Segment at 9:1 (count = 1), RegionEntry
|
||||
Segment at 10:27 (count = 0), Skipped
|
||||
Segment at 11:11 (count = 10), RegionEntry
|
||||
Segment at 11:24 (count = 0), Skipped
|
||||
Segment at 12:12 (count = 10), RegionEntry
|
||||
Segment at 12:26 (count = 0), Skipped
|
||||
Segment at 12:27 (count = 0), RegionEntry
|
||||
Segment at 14:10 (count = 0), Skipped
|
||||
Segment at 14:19 (count = 10), RegionEntry
|
||||
Segment at 14:32 (count = 0), Skipped
|
||||
Segment at 14:33 (count = 3), RegionEntry
|
||||
Segment at 16:10 (count = 6), RegionEntry
|
||||
Segment at 16:11 (count = 0), Skipped
|
||||
Segment at 17:9 (count = 9), RegionEntry
|
||||
Segment at 17:23 (count = 0), Skipped
|
||||
Segment at 19:5 (count = 0), RegionEntry
|
||||
Segment at 20:2 (count = 0), Skipped
|
||||
|
|
@ -1,311 +0,0 @@
|
|||
Counter in file 0 13:1 -> 13:20, #1
|
||||
Counter in file 0 15:1 -> 15:20, 0
|
||||
Counter in file 0 15:20 -> 15:21, 0
|
||||
Counter in file 0 19:1 -> 19:30, 0
|
||||
Counter in file 0 19:30 -> 19:31, 0
|
||||
Counter in file 0 21:23 -> 22:12, 0
|
||||
Counter in file 0 23:9 -> 23:10, 0
|
||||
Counter in file 0 23:14 -> 23:17, 0
|
||||
Counter in file 0 23:27 -> 23:28, 0
|
||||
Counter in file 0 23:32 -> 23:34, 0
|
||||
Counter in file 0 24:9 -> 24:10, 0
|
||||
Counter in file 0 24:14 -> 24:17, 0
|
||||
Counter in file 0 24:27 -> 24:28, 0
|
||||
Counter in file 0 24:32 -> 24:34, 0
|
||||
Counter in file 0 25:14 -> 25:16, 0
|
||||
Counter in file 0 27:1 -> 27:2, 0
|
||||
Counter in file 0 29:22 -> 32:12, 0
|
||||
Counter in file 0 33:9 -> 33:10, 0
|
||||
Counter in file 0 33:14 -> 33:19, 0
|
||||
Counter in file 0 33:26 -> 33:27, 0
|
||||
Counter in file 0 33:32 -> 33:34, 0
|
||||
Counter in file 0 34:14 -> 34:16, 0
|
||||
Counter in file 0 36:1 -> 36:2, 0
|
||||
Counter in file 0 75:1 -> 76:12, 0
|
||||
Counter in file 0 77:14 -> 77:16, 0
|
||||
Counter in file 0 78:14 -> 78:16, 0
|
||||
Counter in file 0 79:14 -> 79:16, 0
|
||||
Counter in file 0 81:1 -> 81:2, 0
|
||||
Counter in file 0 91:25 -> 91:34, 0
|
||||
Counter in file 0 5:1 -> 5:25, #1
|
||||
Counter in file 0 5:25 -> 6:14, #1
|
||||
Counter in file 0 7:9 -> 7:10, #2
|
||||
Counter in file 0 9:9 -> 9:10, (#1 - #2)
|
||||
Counter in file 0 11:1 -> 11:2, (#2 + (#1 - #2))
|
||||
Counter in file 0 21:1 -> 21:23, #1
|
||||
Counter in file 0 67:5 -> 67:23, #1
|
||||
Counter in file 0 38:1 -> 38:19, #1
|
||||
Counter in file 0 38:19 -> 42:12, #1
|
||||
Counter in file 0 43:9 -> 43:10, #3
|
||||
Counter in file 0 43:14 -> 43:18, (#1 + 0)
|
||||
Counter in file 0 43:28 -> 43:33, #2
|
||||
Counter in file 0 43:39 -> 43:42, (#3 + 0)
|
||||
Counter in file 0 44:9 -> 44:10, #6
|
||||
Counter in file 0 44:14 -> 44:17, #4
|
||||
Counter in file 0 44:27 -> 44:32, #8
|
||||
Counter in file 0 44:36 -> 44:38, (#6 + 0)
|
||||
Counter in file 0 45:14 -> 45:16, #7
|
||||
Counter in file 0 47:1 -> 47:2, (#5 + (#6 + #7))
|
||||
Counter in file 0 29:1 -> 29:22, #1
|
||||
Counter in file 0 93:1 -> 101:2, #1
|
||||
Counter in file 0 91:1 -> 91:25, #1
|
||||
Counter in file 0 51:5 -> 52:18, #1
|
||||
Counter in file 0 53:13 -> 53:14, #2
|
||||
Counter in file 0 63:13 -> 63:14, (#1 - #2)
|
||||
Counter in file 0 65:5 -> 65:6, (#2 + (#1 - #2))
|
||||
Counter in file 0 17:20 -> 17:21, #1
|
||||
Counter in file 0 49:1 -> 68:12, #1
|
||||
Counter in file 0 69:9 -> 69:10, #2
|
||||
Counter in file 0 69:14 -> 69:27, (#1 + 0)
|
||||
Counter in file 0 69:31 -> 69:39, (#2 + 0)
|
||||
Counter in file 0 70:9 -> 70:10, #3
|
||||
Counter in file 0 70:14 -> 70:26, #5
|
||||
Counter in file 0 70:30 -> 70:32, (#3 + 0)
|
||||
Counter in file 0 71:14 -> 71:16, #4
|
||||
Counter in file 0 73:1 -> 73:2, (#2 + (#3 + #4))
|
||||
Counter in file 0 83:1 -> 84:12, #1
|
||||
Counter in file 0 85:14 -> 85:16, (#1 - (#3 + #2))
|
||||
Counter in file 0 86:14 -> 86:16, #2
|
||||
Counter in file 0 87:14 -> 87:16, #3
|
||||
Counter in file 0 89:1 -> 89:2, (#3 + (#2 + (#1 - (#3 + #2))))
|
||||
Counter in file 0 17:1 -> 17:20, #1
|
||||
Counter in file 0 66:5 -> 66:23, #1
|
||||
Counter in file 0 13:20 -> 13:21, #1
|
||||
Counter in file 0 17:9 -> 17:10, #1
|
||||
Counter in file 0 17:9 -> 17:10, #1
|
||||
Counter in file 0 117:17 -> 117:19, #1
|
||||
Counter in file 0 17:9 -> 17:10, #1
|
||||
Counter in file 0 110:5 -> 120:54, #1
|
||||
Counter in file 0 123:32 -> 123:35, ((#1 + #2) - #2)
|
||||
Counter in file 0 123:39 -> 123:73, (#1 + #2)
|
||||
Counter in file 0 124:23 -> 124:26, (((#1 + #2) - #2) + 0)
|
||||
Counter in file 0 125:14 -> 125:15, #2
|
||||
Counter in file 0 127:5 -> 127:6, (((#1 + #2) - #2) + 0)
|
||||
Emitting segments for file: ../coverage/async.rs
|
||||
Combined regions:
|
||||
5:1 -> 5:25 (count=1)
|
||||
5:25 -> 6:14 (count=1)
|
||||
7:9 -> 7:10 (count=1)
|
||||
9:9 -> 9:10 (count=0)
|
||||
11:1 -> 11:2 (count=1)
|
||||
13:1 -> 13:20 (count=0)
|
||||
15:1 -> 15:20 (count=0)
|
||||
15:20 -> 15:21 (count=0)
|
||||
17:1 -> 17:20 (count=1)
|
||||
17:20 -> 17:21 (count=1)
|
||||
19:1 -> 19:30 (count=0)
|
||||
19:30 -> 19:31 (count=0)
|
||||
21:1 -> 21:23 (count=1)
|
||||
21:23 -> 22:12 (count=0)
|
||||
23:9 -> 23:10 (count=0)
|
||||
23:14 -> 23:17 (count=0)
|
||||
23:27 -> 23:28 (count=0)
|
||||
23:32 -> 23:34 (count=0)
|
||||
24:9 -> 24:10 (count=0)
|
||||
24:14 -> 24:17 (count=0)
|
||||
24:27 -> 24:28 (count=0)
|
||||
24:32 -> 24:34 (count=0)
|
||||
25:14 -> 25:16 (count=0)
|
||||
27:1 -> 27:2 (count=0)
|
||||
29:1 -> 29:22 (count=1)
|
||||
29:22 -> 32:12 (count=0)
|
||||
33:9 -> 33:10 (count=0)
|
||||
33:14 -> 33:19 (count=0)
|
||||
33:26 -> 33:27 (count=0)
|
||||
33:32 -> 33:34 (count=0)
|
||||
34:14 -> 34:16 (count=0)
|
||||
36:1 -> 36:2 (count=0)
|
||||
38:1 -> 38:19 (count=1)
|
||||
38:19 -> 42:12 (count=1)
|
||||
43:9 -> 43:10 (count=0)
|
||||
43:14 -> 43:18 (count=1)
|
||||
43:28 -> 43:33 (count=1)
|
||||
43:39 -> 43:42 (count=0)
|
||||
44:9 -> 44:10 (count=0)
|
||||
44:14 -> 44:17 (count=1)
|
||||
44:27 -> 44:32 (count=1)
|
||||
44:36 -> 44:38 (count=0)
|
||||
45:14 -> 45:16 (count=1)
|
||||
47:1 -> 47:2 (count=1)
|
||||
49:1 -> 68:12 (count=1)
|
||||
51:5 -> 52:18 (count=1)
|
||||
53:13 -> 53:14 (count=0)
|
||||
63:13 -> 63:14 (count=1)
|
||||
65:5 -> 65:6 (count=1)
|
||||
67:5 -> 67:23 (count=1)
|
||||
69:9 -> 69:10 (count=0)
|
||||
69:14 -> 69:27 (count=1)
|
||||
69:31 -> 69:39 (count=0)
|
||||
70:9 -> 70:10 (count=0)
|
||||
70:14 -> 70:26 (count=1)
|
||||
70:30 -> 70:32 (count=0)
|
||||
71:14 -> 71:16 (count=1)
|
||||
73:1 -> 73:2 (count=1)
|
||||
75:1 -> 76:12 (count=0)
|
||||
77:14 -> 77:16 (count=0)
|
||||
78:14 -> 78:16 (count=0)
|
||||
79:14 -> 79:16 (count=0)
|
||||
81:1 -> 81:2 (count=0)
|
||||
83:1 -> 84:12 (count=1)
|
||||
85:14 -> 85:16 (count=0)
|
||||
86:14 -> 86:16 (count=0)
|
||||
87:14 -> 87:16 (count=1)
|
||||
89:1 -> 89:2 (count=1)
|
||||
91:1 -> 91:25 (count=1)
|
||||
91:25 -> 91:34 (count=0)
|
||||
93:1 -> 101:2 (count=1)
|
||||
110:5 -> 120:54 (count=1)
|
||||
117:17 -> 117:19 (count=1)
|
||||
123:32 -> 123:35 (count=1)
|
||||
123:39 -> 123:73 (count=1)
|
||||
124:23 -> 124:26 (count=1)
|
||||
125:14 -> 125:15 (count=0)
|
||||
127:5 -> 127:6 (count=1)
|
||||
Segment at 5:1 (count = 1), RegionEntry
|
||||
Segment at 5:25 (count = 1), RegionEntry
|
||||
Segment at 6:14 (count = 0), Skipped
|
||||
Segment at 7:9 (count = 1), RegionEntry
|
||||
Segment at 7:10 (count = 0), Skipped
|
||||
Segment at 9:9 (count = 0), RegionEntry
|
||||
Segment at 9:10 (count = 0), Skipped
|
||||
Segment at 11:1 (count = 1), RegionEntry
|
||||
Segment at 11:2 (count = 0), Skipped
|
||||
Segment at 13:1 (count = 0), RegionEntry
|
||||
Segment at 13:20 (count = 0), Skipped
|
||||
Segment at 15:1 (count = 0), RegionEntry
|
||||
Segment at 15:20 (count = 0), RegionEntry
|
||||
Segment at 15:21 (count = 0), Skipped
|
||||
Segment at 17:1 (count = 1), RegionEntry
|
||||
Segment at 17:20 (count = 1), RegionEntry
|
||||
Segment at 17:21 (count = 0), Skipped
|
||||
Segment at 19:1 (count = 0), RegionEntry
|
||||
Segment at 19:30 (count = 0), RegionEntry
|
||||
Segment at 19:31 (count = 0), Skipped
|
||||
Segment at 21:1 (count = 1), RegionEntry
|
||||
Segment at 21:23 (count = 0), RegionEntry
|
||||
Segment at 22:12 (count = 0), Skipped
|
||||
Segment at 23:9 (count = 0), RegionEntry
|
||||
Segment at 23:10 (count = 0), Skipped
|
||||
Segment at 23:14 (count = 0), RegionEntry
|
||||
Segment at 23:17 (count = 0), Skipped
|
||||
Segment at 23:27 (count = 0), RegionEntry
|
||||
Segment at 23:28 (count = 0), Skipped
|
||||
Segment at 23:32 (count = 0), RegionEntry
|
||||
Segment at 23:34 (count = 0), Skipped
|
||||
Segment at 24:9 (count = 0), RegionEntry
|
||||
Segment at 24:10 (count = 0), Skipped
|
||||
Segment at 24:14 (count = 0), RegionEntry
|
||||
Segment at 24:17 (count = 0), Skipped
|
||||
Segment at 24:27 (count = 0), RegionEntry
|
||||
Segment at 24:28 (count = 0), Skipped
|
||||
Segment at 24:32 (count = 0), RegionEntry
|
||||
Segment at 24:34 (count = 0), Skipped
|
||||
Segment at 25:14 (count = 0), RegionEntry
|
||||
Segment at 25:16 (count = 0), Skipped
|
||||
Segment at 27:1 (count = 0), RegionEntry
|
||||
Segment at 27:2 (count = 0), Skipped
|
||||
Segment at 29:1 (count = 1), RegionEntry
|
||||
Segment at 29:22 (count = 0), RegionEntry
|
||||
Segment at 32:12 (count = 0), Skipped
|
||||
Segment at 33:9 (count = 0), RegionEntry
|
||||
Segment at 33:10 (count = 0), Skipped
|
||||
Segment at 33:14 (count = 0), RegionEntry
|
||||
Segment at 33:19 (count = 0), Skipped
|
||||
Segment at 33:26 (count = 0), RegionEntry
|
||||
Segment at 33:27 (count = 0), Skipped
|
||||
Segment at 33:32 (count = 0), RegionEntry
|
||||
Segment at 33:34 (count = 0), Skipped
|
||||
Segment at 34:14 (count = 0), RegionEntry
|
||||
Segment at 34:16 (count = 0), Skipped
|
||||
Segment at 36:1 (count = 0), RegionEntry
|
||||
Segment at 36:2 (count = 0), Skipped
|
||||
Segment at 38:1 (count = 1), RegionEntry
|
||||
Segment at 38:19 (count = 1), RegionEntry
|
||||
Segment at 42:12 (count = 0), Skipped
|
||||
Segment at 43:9 (count = 0), RegionEntry
|
||||
Segment at 43:10 (count = 0), Skipped
|
||||
Segment at 43:14 (count = 1), RegionEntry
|
||||
Segment at 43:18 (count = 0), Skipped
|
||||
Segment at 43:28 (count = 1), RegionEntry
|
||||
Segment at 43:33 (count = 0), Skipped
|
||||
Segment at 43:39 (count = 0), RegionEntry
|
||||
Segment at 43:42 (count = 0), Skipped
|
||||
Segment at 44:9 (count = 0), RegionEntry
|
||||
Segment at 44:10 (count = 0), Skipped
|
||||
Segment at 44:14 (count = 1), RegionEntry
|
||||
Segment at 44:17 (count = 0), Skipped
|
||||
Segment at 44:27 (count = 1), RegionEntry
|
||||
Segment at 44:32 (count = 0), Skipped
|
||||
Segment at 44:36 (count = 0), RegionEntry
|
||||
Segment at 44:38 (count = 0), Skipped
|
||||
Segment at 45:14 (count = 1), RegionEntry
|
||||
Segment at 45:16 (count = 0), Skipped
|
||||
Segment at 47:1 (count = 1), RegionEntry
|
||||
Segment at 47:2 (count = 0), Skipped
|
||||
Segment at 49:1 (count = 1), RegionEntry
|
||||
Segment at 51:5 (count = 1), RegionEntry
|
||||
Segment at 52:18 (count = 1)
|
||||
Segment at 53:13 (count = 0), RegionEntry
|
||||
Segment at 53:14 (count = 1)
|
||||
Segment at 63:13 (count = 1), RegionEntry
|
||||
Segment at 63:14 (count = 1)
|
||||
Segment at 65:5 (count = 1), RegionEntry
|
||||
Segment at 65:6 (count = 1)
|
||||
Segment at 67:5 (count = 1), RegionEntry
|
||||
Segment at 67:23 (count = 1)
|
||||
Segment at 68:12 (count = 0), Skipped
|
||||
Segment at 69:9 (count = 0), RegionEntry
|
||||
Segment at 69:10 (count = 0), Skipped
|
||||
Segment at 69:14 (count = 1), RegionEntry
|
||||
Segment at 69:27 (count = 0), Skipped
|
||||
Segment at 69:31 (count = 0), RegionEntry
|
||||
Segment at 69:39 (count = 0), Skipped
|
||||
Segment at 70:9 (count = 0), RegionEntry
|
||||
Segment at 70:10 (count = 0), Skipped
|
||||
Segment at 70:14 (count = 1), RegionEntry
|
||||
Segment at 70:26 (count = 0), Skipped
|
||||
Segment at 70:30 (count = 0), RegionEntry
|
||||
Segment at 70:32 (count = 0), Skipped
|
||||
Segment at 71:14 (count = 1), RegionEntry
|
||||
Segment at 71:16 (count = 0), Skipped
|
||||
Segment at 73:1 (count = 1), RegionEntry
|
||||
Segment at 73:2 (count = 0), Skipped
|
||||
Segment at 75:1 (count = 0), RegionEntry
|
||||
Segment at 76:12 (count = 0), Skipped
|
||||
Segment at 77:14 (count = 0), RegionEntry
|
||||
Segment at 77:16 (count = 0), Skipped
|
||||
Segment at 78:14 (count = 0), RegionEntry
|
||||
Segment at 78:16 (count = 0), Skipped
|
||||
Segment at 79:14 (count = 0), RegionEntry
|
||||
Segment at 79:16 (count = 0), Skipped
|
||||
Segment at 81:1 (count = 0), RegionEntry
|
||||
Segment at 81:2 (count = 0), Skipped
|
||||
Segment at 83:1 (count = 1), RegionEntry
|
||||
Segment at 84:12 (count = 0), Skipped
|
||||
Segment at 85:14 (count = 0), RegionEntry
|
||||
Segment at 85:16 (count = 0), Skipped
|
||||
Segment at 86:14 (count = 0), RegionEntry
|
||||
Segment at 86:16 (count = 0), Skipped
|
||||
Segment at 87:14 (count = 1), RegionEntry
|
||||
Segment at 87:16 (count = 0), Skipped
|
||||
Segment at 89:1 (count = 1), RegionEntry
|
||||
Segment at 89:2 (count = 0), Skipped
|
||||
Segment at 91:1 (count = 1), RegionEntry
|
||||
Segment at 91:25 (count = 0), RegionEntry
|
||||
Segment at 91:34 (count = 0), Skipped
|
||||
Segment at 93:1 (count = 1), RegionEntry
|
||||
Segment at 101:2 (count = 0), Skipped
|
||||
Segment at 110:5 (count = 1), RegionEntry
|
||||
Segment at 117:17 (count = 1), RegionEntry
|
||||
Segment at 117:19 (count = 1)
|
||||
Segment at 120:54 (count = 0), Skipped
|
||||
Segment at 123:32 (count = 1), RegionEntry
|
||||
Segment at 123:35 (count = 0), Skipped
|
||||
Segment at 123:39 (count = 1), RegionEntry
|
||||
Segment at 123:73 (count = 0), Skipped
|
||||
Segment at 124:23 (count = 1), RegionEntry
|
||||
Segment at 124:26 (count = 0), Skipped
|
||||
Segment at 125:14 (count = 0), RegionEntry
|
||||
Segment at 125:15 (count = 0), Skipped
|
||||
Segment at 127:5 (count = 1), RegionEntry
|
||||
Segment at 127:6 (count = 0), Skipped
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
Counter in file 0 98:5 -> 100:20, #1
|
||||
Counter in file 0 100:21 -> 102:10, #2
|
||||
Counter in file 0 102:10 -> 102:11, (#1 - #2)
|
||||
Counter in file 0 103:9 -> 104:6, (#2 + (#1 - #2))
|
||||
Counter in file 0 123:5 -> 124:20, 0
|
||||
Counter in file 0 124:21 -> 126:10, 0
|
||||
Counter in file 0 126:10 -> 126:11, 0
|
||||
Counter in file 0 127:9 -> 128:6, 0
|
||||
Counter in file 0 131:53 -> 131:67, 0
|
||||
Counter in file 0 141:59 -> 141:85, 0
|
||||
Counter in file 0 143:56 -> 145:6, 0
|
||||
Counter in file 0 149:7 -> 149:33, 0
|
||||
Counter in file 0 153:7 -> 153:33, 0
|
||||
Counter in file 0 3:1 -> 18:13, #1
|
||||
Counter in file 0 25:14 -> 33:9, (#1 + 0)
|
||||
Counter in file 0 40:6 -> 60:13, (#1 + 0)
|
||||
Counter in file 0 67:14 -> 75:9, (#1 + 0)
|
||||
Counter in file 0 82:6 -> 97:9, (#1 + 0)
|
||||
Counter in file 0 104:6 -> 120:9, (#1 + 0)
|
||||
Counter in file 0 128:6 -> 131:33, (#1 + 0)
|
||||
Counter in file 0 131:67 -> 136:33, (#1 + 0)
|
||||
Counter in file 0 136:75 -> 141:39, (#1 + 0)
|
||||
Counter in file 0 141:85 -> 143:36, (#1 + 0)
|
||||
Counter in file 0 145:6 -> 147:36, (#1 + 0)
|
||||
Counter in file 0 149:33 -> 151:43, (#1 + 0)
|
||||
Counter in file 0 153:33 -> 155:2, (#1 + 0)
|
||||
Counter in file 0 61:13 -> 63:28, #1
|
||||
Counter in file 0 63:29 -> 65:18, #2
|
||||
Counter in file 0 65:18 -> 65:19, (#1 - #2)
|
||||
Counter in file 0 66:17 -> 67:14, (#2 + (#1 - #2))
|
||||
Counter in file 0 76:5 -> 78:20, #1
|
||||
Counter in file 0 78:21 -> 80:10, #2
|
||||
Counter in file 0 80:10 -> 80:11, (#1 - #2)
|
||||
Counter in file 0 81:9 -> 82:6, (#2 + (#1 - #2))
|
||||
Counter in file 0 34:5 -> 36:20, #1
|
||||
Counter in file 0 36:21 -> 38:10, #2
|
||||
Counter in file 0 38:10 -> 38:11, (#1 - #2)
|
||||
Counter in file 0 39:9 -> 40:6, (#2 + (#1 - #2))
|
||||
Counter in file 0 19:13 -> 21:28, #1
|
||||
Counter in file 0 21:29 -> 23:18, #2
|
||||
Counter in file 0 23:18 -> 23:19, (#1 - #2)
|
||||
Counter in file 0 24:17 -> 25:14, (#2 + (#1 - #2))
|
||||
Emitting segments for file: ../coverage/closure.rs
|
||||
Combined regions:
|
||||
3:1 -> 18:13 (count=1)
|
||||
19:13 -> 21:28 (count=0)
|
||||
21:29 -> 23:18 (count=0)
|
||||
23:18 -> 23:19 (count=0)
|
||||
24:17 -> 25:14 (count=0)
|
||||
25:14 -> 33:9 (count=1)
|
||||
34:5 -> 36:20 (count=0)
|
||||
36:21 -> 38:10 (count=0)
|
||||
38:10 -> 38:11 (count=0)
|
||||
39:9 -> 40:6 (count=0)
|
||||
40:6 -> 60:13 (count=1)
|
||||
61:13 -> 63:28 (count=1)
|
||||
63:29 -> 65:18 (count=0)
|
||||
65:18 -> 65:19 (count=1)
|
||||
66:17 -> 67:14 (count=1)
|
||||
67:14 -> 75:9 (count=1)
|
||||
76:5 -> 78:20 (count=1)
|
||||
78:21 -> 80:10 (count=0)
|
||||
80:10 -> 80:11 (count=1)
|
||||
81:9 -> 82:6 (count=1)
|
||||
82:6 -> 97:9 (count=1)
|
||||
98:5 -> 100:20 (count=5)
|
||||
100:21 -> 102:10 (count=0)
|
||||
102:10 -> 102:11 (count=5)
|
||||
103:9 -> 104:6 (count=5)
|
||||
104:6 -> 120:9 (count=1)
|
||||
123:5 -> 124:20 (count=0)
|
||||
124:21 -> 126:10 (count=0)
|
||||
126:10 -> 126:11 (count=0)
|
||||
127:9 -> 128:6 (count=0)
|
||||
128:6 -> 131:33 (count=1)
|
||||
131:53 -> 131:67 (count=0)
|
||||
131:67 -> 136:33 (count=1)
|
||||
136:75 -> 141:39 (count=1)
|
||||
141:59 -> 141:85 (count=0)
|
||||
141:85 -> 143:36 (count=1)
|
||||
143:56 -> 145:6 (count=0)
|
||||
145:6 -> 147:36 (count=1)
|
||||
149:7 -> 149:33 (count=0)
|
||||
149:33 -> 151:43 (count=1)
|
||||
153:7 -> 153:33 (count=0)
|
||||
153:33 -> 155:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 18:13 (count = 0), Skipped
|
||||
Segment at 19:13 (count = 0), RegionEntry
|
||||
Segment at 21:28 (count = 0), Skipped
|
||||
Segment at 21:29 (count = 0), RegionEntry
|
||||
Segment at 23:18 (count = 0), RegionEntry
|
||||
Segment at 23:19 (count = 0), Skipped
|
||||
Segment at 24:17 (count = 0), RegionEntry
|
||||
Segment at 25:14 (count = 1), RegionEntry
|
||||
Segment at 33:9 (count = 0), Skipped
|
||||
Segment at 34:5 (count = 0), RegionEntry
|
||||
Segment at 36:20 (count = 0), Skipped
|
||||
Segment at 36:21 (count = 0), RegionEntry
|
||||
Segment at 38:10 (count = 0), RegionEntry
|
||||
Segment at 38:11 (count = 0), Skipped
|
||||
Segment at 39:9 (count = 0), RegionEntry
|
||||
Segment at 40:6 (count = 1), RegionEntry
|
||||
Segment at 60:13 (count = 0), Skipped
|
||||
Segment at 61:13 (count = 1), RegionEntry
|
||||
Segment at 63:28 (count = 0), Skipped
|
||||
Segment at 63:29 (count = 0), RegionEntry
|
||||
Segment at 65:18 (count = 1), RegionEntry
|
||||
Segment at 65:19 (count = 0), Skipped
|
||||
Segment at 66:17 (count = 1), RegionEntry
|
||||
Segment at 67:14 (count = 1), RegionEntry
|
||||
Segment at 75:9 (count = 0), Skipped
|
||||
Segment at 76:5 (count = 1), RegionEntry
|
||||
Segment at 78:20 (count = 0), Skipped
|
||||
Segment at 78:21 (count = 0), RegionEntry
|
||||
Segment at 80:10 (count = 1), RegionEntry
|
||||
Segment at 80:11 (count = 0), Skipped
|
||||
Segment at 81:9 (count = 1), RegionEntry
|
||||
Segment at 82:6 (count = 1), RegionEntry
|
||||
Segment at 97:9 (count = 0), Skipped
|
||||
Segment at 98:5 (count = 5), RegionEntry
|
||||
Segment at 100:20 (count = 0), Skipped
|
||||
Segment at 100:21 (count = 0), RegionEntry
|
||||
Segment at 102:10 (count = 5), RegionEntry
|
||||
Segment at 102:11 (count = 0), Skipped
|
||||
Segment at 103:9 (count = 5), RegionEntry
|
||||
Segment at 104:6 (count = 1), RegionEntry
|
||||
Segment at 120:9 (count = 0), Skipped
|
||||
Segment at 123:5 (count = 0), RegionEntry
|
||||
Segment at 124:20 (count = 0), Skipped
|
||||
Segment at 124:21 (count = 0), RegionEntry
|
||||
Segment at 126:10 (count = 0), RegionEntry
|
||||
Segment at 126:11 (count = 0), Skipped
|
||||
Segment at 127:9 (count = 0), RegionEntry
|
||||
Segment at 128:6 (count = 1), RegionEntry
|
||||
Segment at 131:33 (count = 0), Skipped
|
||||
Segment at 131:53 (count = 0), RegionEntry
|
||||
Segment at 131:67 (count = 1), RegionEntry
|
||||
Segment at 136:33 (count = 0), Skipped
|
||||
Segment at 136:75 (count = 1), RegionEntry
|
||||
Segment at 141:39 (count = 0), Skipped
|
||||
Segment at 141:59 (count = 0), RegionEntry
|
||||
Segment at 141:85 (count = 1), RegionEntry
|
||||
Segment at 143:36 (count = 0), Skipped
|
||||
Segment at 143:56 (count = 0), RegionEntry
|
||||
Segment at 145:6 (count = 1), RegionEntry
|
||||
Segment at 147:36 (count = 0), Skipped
|
||||
Segment at 149:7 (count = 0), RegionEntry
|
||||
Segment at 149:33 (count = 1), RegionEntry
|
||||
Segment at 151:43 (count = 0), Skipped
|
||||
Segment at 153:7 (count = 0), RegionEntry
|
||||
Segment at 153:33 (count = 1), RegionEntry
|
||||
Segment at 155:2 (count = 0), Skipped
|
||||
|
|
@ -1,253 +0,0 @@
|
|||
Counter in file 0 3:1 -> 3:11, #1
|
||||
Counter in file 0 4:9 -> 5:12, (#1 + 0)
|
||||
Counter in file 0 5:13 -> 7:6, #2
|
||||
Counter in file 0 10:9 -> 10:10, (#3 + (#12 + #13))
|
||||
Counter in file 0 10:16 -> 10:29, (#2 + 0)
|
||||
Counter in file 0 11:9 -> 12:10, #3
|
||||
Counter in file 0 13:15 -> 13:28, ((#2 + 0) - #3)
|
||||
Counter in file 0 14:12 -> 14:25, #4
|
||||
Counter in file 0 14:29 -> 14:42, (#4 - #15)
|
||||
Counter in file 0 14:46 -> 14:60, #21
|
||||
Counter in file 0 14:61 -> 16:10, #12
|
||||
Counter in file 0 16:10 -> 16:11, #13
|
||||
Counter in file 0 17:9 -> 18:18, (#12 + #13)
|
||||
Counter in file 0 20:9 -> 20:15, (((#2 + 0) - #3) - #4)
|
||||
Counter in file 0 23:9 -> 24:12, ((#3 + (#12 + #13)) + 0)
|
||||
Counter in file 0 24:13 -> 26:6, #14
|
||||
Counter in file 0 28:8 -> 28:21, (#14 + 0)
|
||||
Counter in file 0 28:22 -> 30:6, #16
|
||||
Counter in file 0 30:15 -> 30:28, ((#14 + 0) - #16)
|
||||
Counter in file 0 31:12 -> 31:25, (((#14 + 0) - #16) - #11)
|
||||
Counter in file 0 31:29 -> 31:42, ((((#14 + 0) - #16) - #11) - #23)
|
||||
Counter in file 0 31:46 -> 31:60, #31
|
||||
Counter in file 0 31:61 -> 33:10, #18
|
||||
Counter in file 0 33:10 -> 33:11, #19
|
||||
Counter in file 0 34:9 -> 34:23, (#18 + #19)
|
||||
Counter in file 0 36:9 -> 36:15, #11
|
||||
Counter in file 0 39:8 -> 39:12, (#16 + (#18 + #19))
|
||||
Counter in file 0 40:13 -> 41:16, #20
|
||||
Counter in file 0 41:17 -> 43:10, #24
|
||||
Counter in file 0 45:12 -> 45:25, (#24 + 0)
|
||||
Counter in file 0 45:26 -> 47:10, #25
|
||||
Counter in file 0 48:17 -> 48:30, ((#24 + 0) - #25)
|
||||
Counter in file 0 49:16 -> 49:29, (((#24 + 0) - #25) - #10)
|
||||
Counter in file 0 49:33 -> 49:46, ((((#24 + 0) - #25) - #10) - #35)
|
||||
Counter in file 0 49:50 -> 49:64, #40
|
||||
Counter in file 0 49:65 -> 51:14, #26
|
||||
Counter in file 0 51:14 -> 51:15, #27
|
||||
Counter in file 0 52:13 -> 52:27, (#26 + #27)
|
||||
Counter in file 0 54:13 -> 54:19, #10
|
||||
Counter in file 0 59:9 -> 60:12, ((#25 + (#26 + #27)) + 0)
|
||||
Counter in file 0 60:13 -> 62:6, #28
|
||||
Counter in file 0 64:9 -> 64:10, (#30 + (#33 + #34))
|
||||
Counter in file 0 64:16 -> 64:29, (#28 + 0)
|
||||
Counter in file 0 64:30 -> 66:6, #30
|
||||
Counter in file 0 66:15 -> 66:28, ((#28 + 0) - #30)
|
||||
Counter in file 0 67:12 -> 67:25, (((#28 + 0) - #30) - #9)
|
||||
Counter in file 0 67:29 -> 67:42, ((((#28 + 0) - #30) - #9) - #36)
|
||||
Counter in file 0 67:46 -> 67:60, #42
|
||||
Counter in file 0 67:61 -> 69:10, #33
|
||||
Counter in file 0 69:10 -> 69:11, #34
|
||||
Counter in file 0 70:9 -> 70:23, (#33 + #34)
|
||||
Counter in file 0 72:13 -> 74:15, #9
|
||||
Counter in file 0 77:9 -> 77:10, (#5 + (#6 + #7))
|
||||
Counter in file 0 77:16 -> 77:29, ((#30 + (#33 + #34)) + 0)
|
||||
Counter in file 0 77:30 -> 79:6, #5
|
||||
Counter in file 0 79:15 -> 79:28, ((#30 + (#33 + #34)) - #5)
|
||||
Counter in file 0 80:12 -> 80:25, (((#30 + (#33 + #34)) - #5) - #8)
|
||||
Counter in file 0 80:29 -> 80:42, ((((#30 + (#33 + #34)) - #5) - #8) - #39)
|
||||
Counter in file 0 80:46 -> 80:60, #45
|
||||
Counter in file 0 80:61 -> 82:10, #6
|
||||
Counter in file 0 82:10 -> 82:11, #7
|
||||
Counter in file 0 83:9 -> 83:23, (#6 + #7)
|
||||
Counter in file 0 85:9 -> 85:15, #8
|
||||
Counter in file 0 87:1 -> 87:2, ((#5 + (#6 + #7)) + (((#8 + #9) + (#10 + #11)) + (((#2 + 0) - #3) - #4)))
|
||||
Emitting segments for file: ../coverage/conditions.rs
|
||||
Combined regions:
|
||||
3:1 -> 3:11 (count=1)
|
||||
4:9 -> 5:12 (count=1)
|
||||
5:13 -> 7:6 (count=1)
|
||||
10:9 -> 10:10 (count=1)
|
||||
10:16 -> 10:29 (count=1)
|
||||
11:9 -> 12:10 (count=1)
|
||||
13:15 -> 13:28 (count=0)
|
||||
14:12 -> 14:25 (count=0)
|
||||
14:29 -> 14:42 (count=0)
|
||||
14:46 -> 14:60 (count=0)
|
||||
14:61 -> 16:10 (count=0)
|
||||
16:10 -> 16:11 (count=0)
|
||||
17:9 -> 18:18 (count=0)
|
||||
20:9 -> 20:15 (count=0)
|
||||
23:9 -> 24:12 (count=1)
|
||||
24:13 -> 26:6 (count=1)
|
||||
28:8 -> 28:21 (count=1)
|
||||
28:22 -> 30:6 (count=1)
|
||||
30:15 -> 30:28 (count=0)
|
||||
31:12 -> 31:25 (count=0)
|
||||
31:29 -> 31:42 (count=0)
|
||||
31:46 -> 31:60 (count=0)
|
||||
31:61 -> 33:10 (count=0)
|
||||
33:10 -> 33:11 (count=0)
|
||||
34:9 -> 34:23 (count=0)
|
||||
36:9 -> 36:15 (count=0)
|
||||
39:8 -> 39:12 (count=1)
|
||||
40:13 -> 41:16 (count=1)
|
||||
41:17 -> 43:10 (count=1)
|
||||
45:12 -> 45:25 (count=1)
|
||||
45:26 -> 47:10 (count=1)
|
||||
48:17 -> 48:30 (count=0)
|
||||
49:16 -> 49:29 (count=0)
|
||||
49:33 -> 49:46 (count=0)
|
||||
49:50 -> 49:64 (count=0)
|
||||
49:65 -> 51:14 (count=0)
|
||||
51:14 -> 51:15 (count=0)
|
||||
52:13 -> 52:27 (count=0)
|
||||
54:13 -> 54:19 (count=0)
|
||||
59:9 -> 60:12 (count=1)
|
||||
60:13 -> 62:6 (count=1)
|
||||
64:9 -> 64:10 (count=0)
|
||||
64:16 -> 64:29 (count=1)
|
||||
64:30 -> 66:6 (count=0)
|
||||
66:15 -> 66:28 (count=1)
|
||||
67:12 -> 67:25 (count=0)
|
||||
67:29 -> 67:42 (count=0)
|
||||
67:46 -> 67:60 (count=0)
|
||||
67:61 -> 69:10 (count=0)
|
||||
69:10 -> 69:11 (count=0)
|
||||
70:9 -> 70:23 (count=0)
|
||||
72:13 -> 74:15 (count=1)
|
||||
77:9 -> 77:10 (count=0)
|
||||
77:16 -> 77:29 (count=0)
|
||||
77:30 -> 79:6 (count=0)
|
||||
79:15 -> 79:28 (count=0)
|
||||
80:12 -> 80:25 (count=0)
|
||||
80:29 -> 80:42 (count=0)
|
||||
80:46 -> 80:60 (count=0)
|
||||
80:61 -> 82:10 (count=0)
|
||||
82:10 -> 82:11 (count=0)
|
||||
83:9 -> 83:23 (count=0)
|
||||
85:9 -> 85:15 (count=0)
|
||||
87:1 -> 87:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 3:11 (count = 0), Skipped
|
||||
Segment at 4:9 (count = 1), RegionEntry
|
||||
Segment at 5:12 (count = 0), Skipped
|
||||
Segment at 5:13 (count = 1), RegionEntry
|
||||
Segment at 7:6 (count = 0), Skipped
|
||||
Segment at 10:9 (count = 1), RegionEntry
|
||||
Segment at 10:10 (count = 0), Skipped
|
||||
Segment at 10:16 (count = 1), RegionEntry
|
||||
Segment at 10:29 (count = 0), Skipped
|
||||
Segment at 11:9 (count = 1), RegionEntry
|
||||
Segment at 12:10 (count = 0), Skipped
|
||||
Segment at 13:15 (count = 0), RegionEntry
|
||||
Segment at 13:28 (count = 0), Skipped
|
||||
Segment at 14:12 (count = 0), RegionEntry
|
||||
Segment at 14:25 (count = 0), Skipped
|
||||
Segment at 14:29 (count = 0), RegionEntry
|
||||
Segment at 14:42 (count = 0), Skipped
|
||||
Segment at 14:46 (count = 0), RegionEntry
|
||||
Segment at 14:60 (count = 0), Skipped
|
||||
Segment at 14:61 (count = 0), RegionEntry
|
||||
Segment at 16:10 (count = 0), RegionEntry
|
||||
Segment at 16:11 (count = 0), Skipped
|
||||
Segment at 17:9 (count = 0), RegionEntry
|
||||
Segment at 18:18 (count = 0), Skipped
|
||||
Segment at 20:9 (count = 0), RegionEntry
|
||||
Segment at 20:15 (count = 0), Skipped
|
||||
Segment at 23:9 (count = 1), RegionEntry
|
||||
Segment at 24:12 (count = 0), Skipped
|
||||
Segment at 24:13 (count = 1), RegionEntry
|
||||
Segment at 26:6 (count = 0), Skipped
|
||||
Segment at 28:8 (count = 1), RegionEntry
|
||||
Segment at 28:21 (count = 0), Skipped
|
||||
Segment at 28:22 (count = 1), RegionEntry
|
||||
Segment at 30:6 (count = 0), Skipped
|
||||
Segment at 30:15 (count = 0), RegionEntry
|
||||
Segment at 30:28 (count = 0), Skipped
|
||||
Segment at 31:12 (count = 0), RegionEntry
|
||||
Segment at 31:25 (count = 0), Skipped
|
||||
Segment at 31:29 (count = 0), RegionEntry
|
||||
Segment at 31:42 (count = 0), Skipped
|
||||
Segment at 31:46 (count = 0), RegionEntry
|
||||
Segment at 31:60 (count = 0), Skipped
|
||||
Segment at 31:61 (count = 0), RegionEntry
|
||||
Segment at 33:10 (count = 0), RegionEntry
|
||||
Segment at 33:11 (count = 0), Skipped
|
||||
Segment at 34:9 (count = 0), RegionEntry
|
||||
Segment at 34:23 (count = 0), Skipped
|
||||
Segment at 36:9 (count = 0), RegionEntry
|
||||
Segment at 36:15 (count = 0), Skipped
|
||||
Segment at 39:8 (count = 1), RegionEntry
|
||||
Segment at 39:12 (count = 0), Skipped
|
||||
Segment at 40:13 (count = 1), RegionEntry
|
||||
Segment at 41:16 (count = 0), Skipped
|
||||
Segment at 41:17 (count = 1), RegionEntry
|
||||
Segment at 43:10 (count = 0), Skipped
|
||||
Segment at 45:12 (count = 1), RegionEntry
|
||||
Segment at 45:25 (count = 0), Skipped
|
||||
Segment at 45:26 (count = 1), RegionEntry
|
||||
Segment at 47:10 (count = 0), Skipped
|
||||
Segment at 48:17 (count = 0), RegionEntry
|
||||
Segment at 48:30 (count = 0), Skipped
|
||||
Segment at 49:16 (count = 0), RegionEntry
|
||||
Segment at 49:29 (count = 0), Skipped
|
||||
Segment at 49:33 (count = 0), RegionEntry
|
||||
Segment at 49:46 (count = 0), Skipped
|
||||
Segment at 49:50 (count = 0), RegionEntry
|
||||
Segment at 49:64 (count = 0), Skipped
|
||||
Segment at 49:65 (count = 0), RegionEntry
|
||||
Segment at 51:14 (count = 0), RegionEntry
|
||||
Segment at 51:15 (count = 0), Skipped
|
||||
Segment at 52:13 (count = 0), RegionEntry
|
||||
Segment at 52:27 (count = 0), Skipped
|
||||
Segment at 54:13 (count = 0), RegionEntry
|
||||
Segment at 54:19 (count = 0), Skipped
|
||||
Segment at 59:9 (count = 1), RegionEntry
|
||||
Segment at 60:12 (count = 0), Skipped
|
||||
Segment at 60:13 (count = 1), RegionEntry
|
||||
Segment at 62:6 (count = 0), Skipped
|
||||
Segment at 64:9 (count = 0), RegionEntry
|
||||
Segment at 64:10 (count = 0), Skipped
|
||||
Segment at 64:16 (count = 1), RegionEntry
|
||||
Segment at 64:29 (count = 0), Skipped
|
||||
Segment at 64:30 (count = 0), RegionEntry
|
||||
Segment at 66:6 (count = 0), Skipped
|
||||
Segment at 66:15 (count = 1), RegionEntry
|
||||
Segment at 66:28 (count = 0), Skipped
|
||||
Segment at 67:12 (count = 0), RegionEntry
|
||||
Segment at 67:25 (count = 0), Skipped
|
||||
Segment at 67:29 (count = 0), RegionEntry
|
||||
Segment at 67:42 (count = 0), Skipped
|
||||
Segment at 67:46 (count = 0), RegionEntry
|
||||
Segment at 67:60 (count = 0), Skipped
|
||||
Segment at 67:61 (count = 0), RegionEntry
|
||||
Segment at 69:10 (count = 0), RegionEntry
|
||||
Segment at 69:11 (count = 0), Skipped
|
||||
Segment at 70:9 (count = 0), RegionEntry
|
||||
Segment at 70:23 (count = 0), Skipped
|
||||
Segment at 72:13 (count = 1), RegionEntry
|
||||
Segment at 74:15 (count = 0), Skipped
|
||||
Segment at 77:9 (count = 0), RegionEntry
|
||||
Segment at 77:10 (count = 0), Skipped
|
||||
Segment at 77:16 (count = 0), RegionEntry
|
||||
Segment at 77:29 (count = 0), Skipped
|
||||
Segment at 77:30 (count = 0), RegionEntry
|
||||
Segment at 79:6 (count = 0), Skipped
|
||||
Segment at 79:15 (count = 0), RegionEntry
|
||||
Segment at 79:28 (count = 0), Skipped
|
||||
Segment at 80:12 (count = 0), RegionEntry
|
||||
Segment at 80:25 (count = 0), Skipped
|
||||
Segment at 80:29 (count = 0), RegionEntry
|
||||
Segment at 80:42 (count = 0), Skipped
|
||||
Segment at 80:46 (count = 0), RegionEntry
|
||||
Segment at 80:60 (count = 0), Skipped
|
||||
Segment at 80:61 (count = 0), RegionEntry
|
||||
Segment at 82:10 (count = 0), RegionEntry
|
||||
Segment at 82:11 (count = 0), Skipped
|
||||
Segment at 83:9 (count = 0), RegionEntry
|
||||
Segment at 83:23 (count = 0), Skipped
|
||||
Segment at 85:9 (count = 0), RegionEntry
|
||||
Segment at 85:15 (count = 0), Skipped
|
||||
Segment at 87:1 (count = 1), RegionEntry
|
||||
Segment at 87:2 (count = 0), Skipped
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
Counter in file 0 3:1 -> 10:15, 0
|
||||
Counter in file 0 10:16 -> 12:6, 0
|
||||
Counter in file 0 12:6 -> 12:7, 0
|
||||
Counter in file 0 13:1 -> 13:2, 0
|
||||
Counter in file 0 15:1 -> 22:15, 0
|
||||
Counter in file 0 22:16 -> 24:6, 0
|
||||
Counter in file 0 24:6 -> 24:7, 0
|
||||
Counter in file 0 25:1 -> 25:2, 0
|
||||
Counter in file 0 27:1 -> 34:15, #1
|
||||
Counter in file 0 34:16 -> 36:6, #2
|
||||
Counter in file 0 36:6 -> 36:7, (#1 - #2)
|
||||
Counter in file 0 37:1 -> 37:2, (#2 + (#1 - #2))
|
||||
Emitting segments for file: ../coverage/dead_code.rs
|
||||
Combined regions:
|
||||
3:1 -> 10:15 (count=0)
|
||||
10:16 -> 12:6 (count=0)
|
||||
12:6 -> 12:7 (count=0)
|
||||
13:1 -> 13:2 (count=0)
|
||||
15:1 -> 22:15 (count=0)
|
||||
22:16 -> 24:6 (count=0)
|
||||
24:6 -> 24:7 (count=0)
|
||||
25:1 -> 25:2 (count=0)
|
||||
27:1 -> 34:15 (count=1)
|
||||
34:16 -> 36:6 (count=1)
|
||||
36:6 -> 36:7 (count=0)
|
||||
37:1 -> 37:2 (count=1)
|
||||
Segment at 3:1 (count = 0), RegionEntry
|
||||
Segment at 10:15 (count = 0), Skipped
|
||||
Segment at 10:16 (count = 0), RegionEntry
|
||||
Segment at 12:6 (count = 0), RegionEntry
|
||||
Segment at 12:7 (count = 0), Skipped
|
||||
Segment at 13:1 (count = 0), RegionEntry
|
||||
Segment at 13:2 (count = 0), Skipped
|
||||
Segment at 15:1 (count = 0), RegionEntry
|
||||
Segment at 22:15 (count = 0), Skipped
|
||||
Segment at 22:16 (count = 0), RegionEntry
|
||||
Segment at 24:6 (count = 0), RegionEntry
|
||||
Segment at 24:7 (count = 0), Skipped
|
||||
Segment at 25:1 (count = 0), RegionEntry
|
||||
Segment at 25:2 (count = 0), Skipped
|
||||
Segment at 27:1 (count = 1), RegionEntry
|
||||
Segment at 34:15 (count = 0), Skipped
|
||||
Segment at 34:16 (count = 1), RegionEntry
|
||||
Segment at 36:6 (count = 0), RegionEntry
|
||||
Segment at 36:7 (count = 0), Skipped
|
||||
Segment at 37:1 (count = 1), RegionEntry
|
||||
Segment at 37:2 (count = 0), Skipped
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
Counter in file 0 9:5 -> 11:6, #1
|
||||
Counter in file 0 14:1 -> 19:12, #1
|
||||
Counter in file 0 20:9 -> 21:22, #2
|
||||
Counter in file 0 27:1 -> 27:2, (#2 + 0)
|
||||
Emitting segments for file: ../coverage/drop_trait.rs
|
||||
Combined regions:
|
||||
9:5 -> 11:6 (count=2)
|
||||
14:1 -> 19:12 (count=1)
|
||||
20:9 -> 21:22 (count=1)
|
||||
27:1 -> 27:2 (count=1)
|
||||
Segment at 9:5 (count = 2), RegionEntry
|
||||
Segment at 11:6 (count = 0), Skipped
|
||||
Segment at 14:1 (count = 1), RegionEntry
|
||||
Segment at 19:12 (count = 0), Skipped
|
||||
Segment at 20:9 (count = 1), RegionEntry
|
||||
Segment at 21:22 (count = 0), Skipped
|
||||
Segment at 27:1 (count = 1), RegionEntry
|
||||
Segment at 27:2 (count = 0), Skipped
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
Counter in file 0 17:5 -> 19:6, #1
|
||||
Counter in file 0 17:5 -> 19:6, #1
|
||||
Counter in file 0 22:1 -> 30:12, #1
|
||||
Counter in file 0 31:9 -> 32:22, #2
|
||||
Counter in file 0 42:1 -> 42:2, (#2 + 0)
|
||||
Counter in file 0 10:5 -> 12:6, #1
|
||||
Counter in file 0 10:5 -> 12:6, #1
|
||||
Emitting segments for file: ../coverage/generics.rs
|
||||
Combined regions:
|
||||
10:5 -> 12:6 (count=3)
|
||||
17:5 -> 19:6 (count=2)
|
||||
22:1 -> 30:12 (count=1)
|
||||
31:9 -> 32:22 (count=1)
|
||||
42:1 -> 42:2 (count=1)
|
||||
Segment at 10:5 (count = 3), RegionEntry
|
||||
Segment at 12:6 (count = 0), Skipped
|
||||
Segment at 17:5 (count = 2), RegionEntry
|
||||
Segment at 19:6 (count = 0), Skipped
|
||||
Segment at 22:1 (count = 1), RegionEntry
|
||||
Segment at 30:12 (count = 0), Skipped
|
||||
Segment at 31:9 (count = 1), RegionEntry
|
||||
Segment at 32:22 (count = 0), Skipped
|
||||
Segment at 42:1 (count = 1), RegionEntry
|
||||
Segment at 42:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RNvMCs4fqI2P2rA04_8genericsINtB2_8FireworkdE12set_strengthB2_
|
||||
Combined regions:
|
||||
10:5 -> 12:6 (count=2)
|
||||
Segment at 10:5 (count = 2), RegionEntry
|
||||
Segment at 12:6 (count = 0), Skipped
|
||||
Emitting segments for function: _RNvMCs4fqI2P2rA04_8genericsINtB2_8FireworklE12set_strengthB2_
|
||||
Combined regions:
|
||||
10:5 -> 12:6 (count=1)
|
||||
Segment at 10:5 (count = 1), RegionEntry
|
||||
Segment at 12:6 (count = 0), Skipped
|
||||
Emitting segments for function: _RNvXs_Cs4fqI2P2rA04_8genericsINtB4_8FireworklENtNtNtCs3rFBWs28XFJ_4core3ops4drop4Drop4dropB4_
|
||||
Combined regions:
|
||||
17:5 -> 19:6 (count=1)
|
||||
Segment at 17:5 (count = 1), RegionEntry
|
||||
Segment at 19:6 (count = 0), Skipped
|
||||
Emitting segments for function: _RNvXs_Cs4fqI2P2rA04_8genericsINtB4_8FireworkdENtNtNtCs3rFBWs28XFJ_4core3ops4drop4Drop4dropB4_
|
||||
Combined regions:
|
||||
17:5 -> 19:6 (count=1)
|
||||
Segment at 17:5 (count = 1), RegionEntry
|
||||
Segment at 19:6 (count = 0), Skipped
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
Counter in file 0 3:1 -> 21:16, #1
|
||||
Counter in file 0 22:5 -> 27:6, #2
|
||||
Counter in file 0 27:6 -> 27:7, (#1 - #2)
|
||||
Counter in file 0 28:1 -> 28:2, (#2 + (#1 - #2))
|
||||
Emitting segments for file: ../coverage/if.rs
|
||||
Combined regions:
|
||||
3:1 -> 21:16 (count=1)
|
||||
22:5 -> 27:6 (count=1)
|
||||
27:6 -> 27:7 (count=0)
|
||||
28:1 -> 28:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 21:16 (count = 0), Skipped
|
||||
Segment at 22:5 (count = 1), RegionEntry
|
||||
Segment at 27:6 (count = 0), RegionEntry
|
||||
Segment at 27:7 (count = 0), Skipped
|
||||
Segment at 28:1 (count = 1), RegionEntry
|
||||
Segment at 28:2 (count = 0), Skipped
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
Counter in file 0 3:1 -> 11:16, #1
|
||||
Counter in file 0 12:5 -> 17:6, #2
|
||||
Counter in file 0 20:9 -> 22:16, (#1 - #2)
|
||||
Counter in file 0 26:9 -> 26:16, (#2 + (#1 - #2))
|
||||
Counter in file 0 27:5 -> 32:6, #3
|
||||
Counter in file 0 34:5 -> 39:6, ((#2 + (#1 - #2)) - #3)
|
||||
Counter in file 0 40:1 -> 40:2, (#3 + ((#2 + (#1 - #2)) - #3))
|
||||
Emitting segments for file: ../coverage/if_else.rs
|
||||
Combined regions:
|
||||
3:1 -> 11:16 (count=1)
|
||||
12:5 -> 17:6 (count=1)
|
||||
20:9 -> 22:16 (count=0)
|
||||
26:9 -> 26:16 (count=1)
|
||||
27:5 -> 32:6 (count=1)
|
||||
34:5 -> 39:6 (count=0)
|
||||
40:1 -> 40:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 11:16 (count = 0), Skipped
|
||||
Segment at 12:5 (count = 1), RegionEntry
|
||||
Segment at 17:6 (count = 0), Skipped
|
||||
Segment at 20:9 (count = 0), RegionEntry
|
||||
Segment at 22:16 (count = 0), Skipped
|
||||
Segment at 26:9 (count = 1), RegionEntry
|
||||
Segment at 26:16 (count = 0), Skipped
|
||||
Segment at 27:5 (count = 1), RegionEntry
|
||||
Segment at 32:6 (count = 0), Skipped
|
||||
Segment at 34:5 (count = 0), RegionEntry
|
||||
Segment at 39:6 (count = 0), Skipped
|
||||
Segment at 40:1 (count = 1), RegionEntry
|
||||
Segment at 40:2 (count = 0), Skipped
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
Counter in file 0 18:5 -> 22:6, #1
|
||||
Counter in file 0 3:1 -> 3:11, #1
|
||||
Counter in file 0 7:9 -> 10:15, (#1 + 0)
|
||||
Counter in file 0 10:16 -> 12:6, #2
|
||||
Counter in file 0 12:6 -> 12:7, (#1 - #2)
|
||||
Counter in file 0 48:8 -> 48:15, (#2 + (#1 - #2))
|
||||
Counter in file 0 48:16 -> 50:6, #3
|
||||
Counter in file 0 50:6 -> 50:7, ((#2 + (#1 - #2)) - #3)
|
||||
Counter in file 0 52:9 -> 57:2, (#3 + ((#2 + (#1 - #2)) - #3))
|
||||
Counter in file 0 33:9 -> 36:10, #1
|
||||
Counter in file 0 40:9 -> 43:10, #1
|
||||
Emitting segments for file: ../coverage/inner_items.rs
|
||||
Combined regions:
|
||||
3:1 -> 3:11 (count=1)
|
||||
7:9 -> 10:15 (count=1)
|
||||
10:16 -> 12:6 (count=1)
|
||||
12:6 -> 12:7 (count=0)
|
||||
18:5 -> 22:6 (count=3)
|
||||
33:9 -> 36:10 (count=1)
|
||||
40:9 -> 43:10 (count=1)
|
||||
48:8 -> 48:15 (count=1)
|
||||
48:16 -> 50:6 (count=1)
|
||||
50:6 -> 50:7 (count=0)
|
||||
52:9 -> 57:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 3:11 (count = 0), Skipped
|
||||
Segment at 7:9 (count = 1), RegionEntry
|
||||
Segment at 10:15 (count = 0), Skipped
|
||||
Segment at 10:16 (count = 1), RegionEntry
|
||||
Segment at 12:6 (count = 0), RegionEntry
|
||||
Segment at 12:7 (count = 0), Skipped
|
||||
Segment at 18:5 (count = 3), RegionEntry
|
||||
Segment at 22:6 (count = 0), Skipped
|
||||
Segment at 33:9 (count = 1), RegionEntry
|
||||
Segment at 36:10 (count = 0), Skipped
|
||||
Segment at 40:9 (count = 1), RegionEntry
|
||||
Segment at 43:10 (count = 0), Skipped
|
||||
Segment at 48:8 (count = 1), RegionEntry
|
||||
Segment at 48:15 (count = 0), Skipped
|
||||
Segment at 48:16 (count = 1), RegionEntry
|
||||
Segment at 50:6 (count = 0), RegionEntry
|
||||
Segment at 50:7 (count = 0), Skipped
|
||||
Segment at 52:9 (count = 1), RegionEntry
|
||||
Segment at 57:2 (count = 0), Skipped
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
Counter in file 0 3:1 -> 10:15, #1
|
||||
Counter in file 0 10:16 -> 14:6, #2
|
||||
Counter in file 0 14:6 -> 14:7, (#1 - #2)
|
||||
Counter in file 0 16:9 -> 16:17, ((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4))
|
||||
Counter in file 0 18:13 -> 18:18, (#2 + (#1 - #2))
|
||||
Counter in file 0 20:13 -> 20:18, ((#2 + (#1 - #2)) - #3)
|
||||
Counter in file 0 23:9 -> 23:17, ((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6))
|
||||
Counter in file 0 25:13 -> 25:18, (((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) + 0)
|
||||
Counter in file 0 27:13 -> 27:18, (((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5)
|
||||
Counter in file 0 29:9 -> 29:17, (#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8)))
|
||||
Counter in file 0 29:20 -> 29:25, (((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) + 0)
|
||||
Counter in file 0 29:29 -> 29:34, #7
|
||||
Counter in file 0 30:9 -> 30:17, (#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10)))
|
||||
Counter in file 0 30:20 -> 30:25, ((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) + 0)
|
||||
Counter in file 0 30:29 -> 30:34, #9
|
||||
Counter in file 0 33:9 -> 34:16, ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) + 0)
|
||||
Counter in file 0 35:5 -> 38:6, #11
|
||||
Counter in file 0 38:6 -> 38:7, ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)
|
||||
Counter in file 0 41:9 -> 41:16, (#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11))
|
||||
Counter in file 0 42:5 -> 45:6, #12
|
||||
Counter in file 0 47:5 -> 50:6, ((#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)) - #12)
|
||||
Counter in file 0 52:8 -> 52:16, (#12 + ((#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)) - #12))
|
||||
Counter in file 0 52:17 -> 54:6, #13
|
||||
Counter in file 0 54:6 -> 54:7, ((#12 + ((#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)) - #12)) - #13)
|
||||
Counter in file 0 56:8 -> 56:15, (#13 + ((#12 + ((#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)) - #12)) - #13))
|
||||
Counter in file 0 56:16 -> 58:6, #14
|
||||
Counter in file 0 58:12 -> 60:6, ((#13 + ((#12 + ((#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)) - #12)) - #13)) - #14)
|
||||
Counter in file 0 61:1 -> 61:2, (#14 + ((#13 + ((#12 + ((#11 + ((#10 + (((#8 + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + (#7 - #8))) - #9) + (#9 - #10))) - #11)) - #12)) - #13)) - #14))
|
||||
Emitting segments for file: ../coverage/lazy_boolean.rs
|
||||
Combined regions:
|
||||
3:1 -> 10:15 (count=1)
|
||||
10:16 -> 14:6 (count=1)
|
||||
14:6 -> 14:7 (count=0)
|
||||
16:9 -> 16:17 (count=1)
|
||||
18:13 -> 18:18 (count=1)
|
||||
20:13 -> 20:18 (count=0)
|
||||
23:9 -> 23:17 (count=1)
|
||||
25:13 -> 25:18 (count=1)
|
||||
27:13 -> 27:18 (count=1)
|
||||
29:9 -> 29:17 (count=1)
|
||||
29:20 -> 29:25 (count=1)
|
||||
29:29 -> 29:34 (count=1)
|
||||
30:9 -> 30:17 (count=1)
|
||||
30:20 -> 30:25 (count=1)
|
||||
30:29 -> 30:34 (count=0)
|
||||
33:9 -> 34:16 (count=1)
|
||||
35:5 -> 38:6 (count=0)
|
||||
38:6 -> 38:7 (count=1)
|
||||
41:9 -> 41:16 (count=1)
|
||||
42:5 -> 45:6 (count=1)
|
||||
47:5 -> 50:6 (count=0)
|
||||
52:8 -> 52:16 (count=1)
|
||||
52:17 -> 54:6 (count=0)
|
||||
54:6 -> 54:7 (count=1)
|
||||
56:8 -> 56:15 (count=1)
|
||||
56:16 -> 58:6 (count=1)
|
||||
58:12 -> 60:6 (count=0)
|
||||
61:1 -> 61:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 10:15 (count = 0), Skipped
|
||||
Segment at 10:16 (count = 1), RegionEntry
|
||||
Segment at 14:6 (count = 0), RegionEntry
|
||||
Segment at 14:7 (count = 0), Skipped
|
||||
Segment at 16:9 (count = 1), RegionEntry
|
||||
Segment at 16:17 (count = 0), Skipped
|
||||
Segment at 18:13 (count = 1), RegionEntry
|
||||
Segment at 18:18 (count = 0), Skipped
|
||||
Segment at 20:13 (count = 0), RegionEntry
|
||||
Segment at 20:18 (count = 0), Skipped
|
||||
Segment at 23:9 (count = 1), RegionEntry
|
||||
Segment at 23:17 (count = 0), Skipped
|
||||
Segment at 25:13 (count = 1), RegionEntry
|
||||
Segment at 25:18 (count = 0), Skipped
|
||||
Segment at 27:13 (count = 1), RegionEntry
|
||||
Segment at 27:18 (count = 0), Skipped
|
||||
Segment at 29:9 (count = 1), RegionEntry
|
||||
Segment at 29:17 (count = 0), Skipped
|
||||
Segment at 29:20 (count = 1), RegionEntry
|
||||
Segment at 29:25 (count = 0), Skipped
|
||||
Segment at 29:29 (count = 1), RegionEntry
|
||||
Segment at 29:34 (count = 0), Skipped
|
||||
Segment at 30:9 (count = 1), RegionEntry
|
||||
Segment at 30:17 (count = 0), Skipped
|
||||
Segment at 30:20 (count = 1), RegionEntry
|
||||
Segment at 30:25 (count = 0), Skipped
|
||||
Segment at 30:29 (count = 0), RegionEntry
|
||||
Segment at 30:34 (count = 0), Skipped
|
||||
Segment at 33:9 (count = 1), RegionEntry
|
||||
Segment at 34:16 (count = 0), Skipped
|
||||
Segment at 35:5 (count = 0), RegionEntry
|
||||
Segment at 38:6 (count = 1), RegionEntry
|
||||
Segment at 38:7 (count = 0), Skipped
|
||||
Segment at 41:9 (count = 1), RegionEntry
|
||||
Segment at 41:16 (count = 0), Skipped
|
||||
Segment at 42:5 (count = 1), RegionEntry
|
||||
Segment at 45:6 (count = 0), Skipped
|
||||
Segment at 47:5 (count = 0), RegionEntry
|
||||
Segment at 50:6 (count = 0), Skipped
|
||||
Segment at 52:8 (count = 1), RegionEntry
|
||||
Segment at 52:16 (count = 0), Skipped
|
||||
Segment at 52:17 (count = 0), RegionEntry
|
||||
Segment at 54:6 (count = 1), RegionEntry
|
||||
Segment at 54:7 (count = 0), Skipped
|
||||
Segment at 56:8 (count = 1), RegionEntry
|
||||
Segment at 56:15 (count = 0), Skipped
|
||||
Segment at 56:16 (count = 1), RegionEntry
|
||||
Segment at 58:6 (count = 0), Skipped
|
||||
Segment at 58:12 (count = 0), RegionEntry
|
||||
Segment at 60:6 (count = 0), Skipped
|
||||
Segment at 61:1 (count = 1), RegionEntry
|
||||
Segment at 61:2 (count = 0), Skipped
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
Counter in file 0 3:1 -> 13:2, #1
|
||||
Emitting segments for file: ../coverage/loop_break_value.rs
|
||||
Combined regions:
|
||||
3:1 -> 13:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 13:2 (count = 0), Skipped
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
Counter in file 0 9:5 -> 10:16, #1
|
||||
Counter in file 0 11:16 -> 11:21, #2
|
||||
Counter in file 0 14:14 -> 14:15, (#2 - #5)
|
||||
Counter in file 0 15:13 -> 15:31, ((0 - #6) + (#2 - #5))
|
||||
Counter in file 0 15:31 -> 15:32, #4
|
||||
Counter in file 0 18:9 -> 18:15, (#3 + 0)
|
||||
Counter in file 0 19:5 -> 19:6, (#4 + (#3 + 0))
|
||||
Counter in file 0 22:1 -> 25:2, #1
|
||||
Emitting segments for file: ../coverage/loops_branches.rs
|
||||
Combined regions:
|
||||
9:5 -> 10:16 (count=1)
|
||||
11:16 -> 11:21 (count=1)
|
||||
14:14 -> 14:15 (count=1)
|
||||
15:13 -> 15:31 (count=1)
|
||||
15:31 -> 15:32 (count=0)
|
||||
18:9 -> 18:15 (count=1)
|
||||
19:5 -> 19:6 (count=1)
|
||||
22:1 -> 25:2 (count=1)
|
||||
Segment at 9:5 (count = 1), RegionEntry
|
||||
Segment at 10:16 (count = 0), Skipped
|
||||
Segment at 11:16 (count = 1), RegionEntry
|
||||
Segment at 11:21 (count = 0), Skipped
|
||||
Segment at 14:14 (count = 1), RegionEntry
|
||||
Segment at 14:15 (count = 0), Skipped
|
||||
Segment at 15:13 (count = 1), RegionEntry
|
||||
Segment at 15:31 (count = 0), RegionEntry
|
||||
Segment at 15:32 (count = 0), Skipped
|
||||
Segment at 18:9 (count = 1), RegionEntry
|
||||
Segment at 18:15 (count = 0), Skipped
|
||||
Segment at 19:5 (count = 1), RegionEntry
|
||||
Segment at 19:6 (count = 0), Skipped
|
||||
Segment at 22:1 (count = 1), RegionEntry
|
||||
Segment at 25:2 (count = 0), Skipped
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
Counter in file 0 1:1 -> 3:27, #1
|
||||
Counter in file 0 5:19 -> 5:32, (#1 + (#2 + #3))
|
||||
Counter in file 0 6:13 -> 7:24, ((#1 + (#2 + #3)) - #4)
|
||||
Counter in file 0 8:13 -> 8:14, ((((#1 + (#2 + #3)) - #4) + (#6 + #7)) - #3)
|
||||
Counter in file 0 8:18 -> 8:23, (((#1 + (#2 + #3)) - #4) + (#6 + #7))
|
||||
Counter in file 0 9:16 -> 9:22, (((((#1 + (#2 + #3)) - #4) + (#6 + #7)) - #3) + 0)
|
||||
Counter in file 0 10:17 -> 10:22, #2
|
||||
Counter in file 0 11:14 -> 14:22, (((((#1 + (#2 + #3)) - #4) + (#6 + #7)) - #3) - #2)
|
||||
Counter in file 0 15:17 -> 16:27, ((((((#1 + (#2 + #3)) - #4) + (#6 + #7)) - #3) - #2) - #7)
|
||||
Counter in file 0 17:21 -> 17:33, #5
|
||||
Counter in file 0 18:24 -> 20:18, #6
|
||||
Counter in file 0 21:14 -> 21:15, #7
|
||||
Counter in file 0 23:9 -> 23:23, (#2 + #3)
|
||||
Counter in file 0 25:1 -> 25:2, (#5 + #4)
|
||||
Emitting segments for file: ../coverage/nested_loops.rs
|
||||
Combined regions:
|
||||
1:1 -> 3:27 (count=1)
|
||||
5:19 -> 5:32 (count=1)
|
||||
6:13 -> 7:24 (count=1)
|
||||
8:13 -> 8:14 (count=3)
|
||||
8:18 -> 8:23 (count=3)
|
||||
9:16 -> 9:22 (count=3)
|
||||
10:17 -> 10:22 (count=0)
|
||||
11:14 -> 14:22 (count=3)
|
||||
15:17 -> 16:27 (count=1)
|
||||
17:21 -> 17:33 (count=1)
|
||||
18:24 -> 20:18 (count=0)
|
||||
21:14 -> 21:15 (count=2)
|
||||
23:9 -> 23:23 (count=0)
|
||||
25:1 -> 25:2 (count=1)
|
||||
Segment at 1:1 (count = 1), RegionEntry
|
||||
Segment at 3:27 (count = 0), Skipped
|
||||
Segment at 5:19 (count = 1), RegionEntry
|
||||
Segment at 5:32 (count = 0), Skipped
|
||||
Segment at 6:13 (count = 1), RegionEntry
|
||||
Segment at 7:24 (count = 0), Skipped
|
||||
Segment at 8:13 (count = 3), RegionEntry
|
||||
Segment at 8:14 (count = 0), Skipped
|
||||
Segment at 8:18 (count = 3), RegionEntry
|
||||
Segment at 8:23 (count = 0), Skipped
|
||||
Segment at 9:16 (count = 3), RegionEntry
|
||||
Segment at 9:22 (count = 0), Skipped
|
||||
Segment at 10:17 (count = 0), RegionEntry
|
||||
Segment at 10:22 (count = 0), Skipped
|
||||
Segment at 11:14 (count = 3), RegionEntry
|
||||
Segment at 14:22 (count = 0), Skipped
|
||||
Segment at 15:17 (count = 1), RegionEntry
|
||||
Segment at 16:27 (count = 0), Skipped
|
||||
Segment at 17:21 (count = 1), RegionEntry
|
||||
Segment at 17:33 (count = 0), Skipped
|
||||
Segment at 18:24 (count = 0), RegionEntry
|
||||
Segment at 20:18 (count = 0), Skipped
|
||||
Segment at 21:14 (count = 2), RegionEntry
|
||||
Segment at 21:15 (count = 0), Skipped
|
||||
Segment at 23:9 (count = 0), RegionEntry
|
||||
Segment at 23:23 (count = 0), Skipped
|
||||
Segment at 25:1 (count = 1), RegionEntry
|
||||
Segment at 25:2 (count = 0), Skipped
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
Counter in file 0 15:1 -> 16:27, #1
|
||||
Counter in file 0 17:11 -> 17:24, (#1 + (#2 + (#3 + #4)))
|
||||
Counter in file 0 18:12 -> 18:26, ((#1 + (#2 + (#3 + #4))) - #5)
|
||||
Counter in file 0 18:27 -> 21:10, #2
|
||||
Counter in file 0 21:19 -> 21:32, (((#1 + (#2 + (#3 + #4))) - #5) - #2)
|
||||
Counter in file 0 21:33 -> 24:10, #3
|
||||
Counter in file 0 24:10 -> 24:11, #4
|
||||
Counter in file 0 25:9 -> 25:23, (#2 + (#3 + #4))
|
||||
Counter in file 0 27:5 -> 28:2, #5
|
||||
Counter in file 0 4:1 -> 5:18, #1
|
||||
Counter in file 0 5:19 -> 7:6, #2
|
||||
Counter in file 0 7:6 -> 7:7, (#1 - #2)
|
||||
Counter in file 0 8:9 -> 13:2, (#2 + (#1 - #2))
|
||||
Emitting segments for file: ../coverage/overflow.rs
|
||||
Combined regions:
|
||||
4:1 -> 5:18 (count=4)
|
||||
5:19 -> 7:6 (count=1)
|
||||
7:6 -> 7:7 (count=3)
|
||||
8:9 -> 13:2 (count=4)
|
||||
15:1 -> 16:27 (count=1)
|
||||
17:11 -> 17:24 (count=10)
|
||||
18:12 -> 18:26 (count=10)
|
||||
18:27 -> 21:10 (count=0)
|
||||
21:19 -> 21:32 (count=10)
|
||||
21:33 -> 24:10 (count=3)
|
||||
24:10 -> 24:11 (count=6)
|
||||
25:9 -> 25:23 (count=9)
|
||||
27:5 -> 28:2 (count=0)
|
||||
Segment at 4:1 (count = 4), RegionEntry
|
||||
Segment at 5:18 (count = 0), Skipped
|
||||
Segment at 5:19 (count = 1), RegionEntry
|
||||
Segment at 7:6 (count = 3), RegionEntry
|
||||
Segment at 7:7 (count = 0), Skipped
|
||||
Segment at 8:9 (count = 4), RegionEntry
|
||||
Segment at 13:2 (count = 0), Skipped
|
||||
Segment at 15:1 (count = 1), RegionEntry
|
||||
Segment at 16:27 (count = 0), Skipped
|
||||
Segment at 17:11 (count = 10), RegionEntry
|
||||
Segment at 17:24 (count = 0), Skipped
|
||||
Segment at 18:12 (count = 10), RegionEntry
|
||||
Segment at 18:26 (count = 0), Skipped
|
||||
Segment at 18:27 (count = 0), RegionEntry
|
||||
Segment at 21:10 (count = 0), Skipped
|
||||
Segment at 21:19 (count = 10), RegionEntry
|
||||
Segment at 21:32 (count = 0), Skipped
|
||||
Segment at 21:33 (count = 3), RegionEntry
|
||||
Segment at 24:10 (count = 6), RegionEntry
|
||||
Segment at 24:11 (count = 0), Skipped
|
||||
Segment at 25:9 (count = 9), RegionEntry
|
||||
Segment at 25:23 (count = 0), Skipped
|
||||
Segment at 27:5 (count = 0), RegionEntry
|
||||
Segment at 28:2 (count = 0), Skipped
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
Counter in file 0 13:1 -> 14:27, #1
|
||||
Counter in file 0 15:11 -> 15:24, (#1 + (#2 + (#3 + #4)))
|
||||
Counter in file 0 16:12 -> 16:26, ((#1 + (#2 + (#3 + #4))) - #5)
|
||||
Counter in file 0 16:27 -> 18:10, #2
|
||||
Counter in file 0 18:19 -> 18:32, (((#1 + (#2 + (#3 + #4))) - #5) - #2)
|
||||
Counter in file 0 18:33 -> 20:10, #3
|
||||
Counter in file 0 20:10 -> 20:11, #4
|
||||
Counter in file 0 21:9 -> 21:23, (#2 + (#3 + #4))
|
||||
Counter in file 0 23:5 -> 24:2, #5
|
||||
Counter in file 0 4:1 -> 4:36, #1
|
||||
Counter in file 0 5:8 -> 5:20, (#1 + 0)
|
||||
Counter in file 0 6:9 -> 7:26, #2
|
||||
Counter in file 0 8:12 -> 11:2, (#1 - #2)
|
||||
Emitting segments for file: ../coverage/panic_unwind.rs
|
||||
Combined regions:
|
||||
4:1 -> 4:36 (count=4)
|
||||
5:8 -> 5:20 (count=4)
|
||||
6:9 -> 7:26 (count=1)
|
||||
8:12 -> 11:2 (count=3)
|
||||
13:1 -> 14:27 (count=1)
|
||||
15:11 -> 15:24 (count=10)
|
||||
16:12 -> 16:26 (count=10)
|
||||
16:27 -> 18:10 (count=0)
|
||||
18:19 -> 18:32 (count=10)
|
||||
18:33 -> 20:10 (count=3)
|
||||
20:10 -> 20:11 (count=6)
|
||||
21:9 -> 21:23 (count=9)
|
||||
23:5 -> 24:2 (count=0)
|
||||
Segment at 4:1 (count = 4), RegionEntry
|
||||
Segment at 4:36 (count = 0), Skipped
|
||||
Segment at 5:8 (count = 4), RegionEntry
|
||||
Segment at 5:20 (count = 0), Skipped
|
||||
Segment at 6:9 (count = 1), RegionEntry
|
||||
Segment at 7:26 (count = 0), Skipped
|
||||
Segment at 8:12 (count = 3), RegionEntry
|
||||
Segment at 11:2 (count = 0), Skipped
|
||||
Segment at 13:1 (count = 1), RegionEntry
|
||||
Segment at 14:27 (count = 0), Skipped
|
||||
Segment at 15:11 (count = 10), RegionEntry
|
||||
Segment at 15:24 (count = 0), Skipped
|
||||
Segment at 16:12 (count = 10), RegionEntry
|
||||
Segment at 16:26 (count = 0), Skipped
|
||||
Segment at 16:27 (count = 0), RegionEntry
|
||||
Segment at 18:10 (count = 0), Skipped
|
||||
Segment at 18:19 (count = 10), RegionEntry
|
||||
Segment at 18:32 (count = 0), Skipped
|
||||
Segment at 18:33 (count = 3), RegionEntry
|
||||
Segment at 20:10 (count = 6), RegionEntry
|
||||
Segment at 20:11 (count = 0), Skipped
|
||||
Segment at 21:9 (count = 9), RegionEntry
|
||||
Segment at 21:23 (count = 0), Skipped
|
||||
Segment at 23:5 (count = 0), RegionEntry
|
||||
Segment at 24:2 (count = 0), Skipped
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
Counter in file 0 4:10 -> 4:15, 0
|
||||
Counter in file 0 4:24 -> 4:25, 0
|
||||
Counter in file 0 4:24 -> 4:25, 0
|
||||
Counter in file 0 4:32 -> 4:33, 0
|
||||
Counter in file 0 4:32 -> 4:33, 0
|
||||
Counter in file 0 4:35 -> 4:36, 0
|
||||
Counter in file 0 4:39 -> 4:40, 0
|
||||
Counter in file 0 4:39 -> 4:40, 0
|
||||
Counter in file 0 4:39 -> 4:40, 0
|
||||
Counter in file 0 4:39 -> 4:40, 0
|
||||
Counter in file 0 4:48 -> 4:49, 0
|
||||
Counter in file 0 4:51 -> 4:52, 0
|
||||
Counter in file 0 4:53 -> 4:54, 0
|
||||
Counter in file 0 7:5 -> 7:6, #1
|
||||
Counter in file 0 7:5 -> 7:6, 0
|
||||
Counter in file 0 7:5 -> 7:6, 0
|
||||
Counter in file 0 7:5 -> 7:6, 0
|
||||
Counter in file 0 8:5 -> 8:17, 0
|
||||
Counter in file 0 8:5 -> 8:17, 0
|
||||
Counter in file 0 8:5 -> 8:17, 0
|
||||
Counter in file 0 21:1 -> 26:2, #1
|
||||
Counter in file 0 4:17 -> 4:22, #1
|
||||
Counter in file 0 12:5 -> 18:6, #1
|
||||
Counter in file 0 4:39 -> 4:40, #1
|
||||
Counter in file 0 8:5 -> 8:17, #1
|
||||
Emitting segments for file: ../coverage/partial_eq.rs
|
||||
Combined regions:
|
||||
4:10 -> 4:15 (count=0)
|
||||
4:17 -> 4:22 (count=2)
|
||||
4:24 -> 4:25 (count=0)
|
||||
4:32 -> 4:33 (count=0)
|
||||
4:35 -> 4:36 (count=0)
|
||||
4:39 -> 4:40 (count=1)
|
||||
4:48 -> 4:49 (count=0)
|
||||
4:51 -> 4:52 (count=0)
|
||||
4:53 -> 4:54 (count=0)
|
||||
7:5 -> 7:6 (count=1)
|
||||
8:5 -> 8:17 (count=0)
|
||||
12:5 -> 18:6 (count=2)
|
||||
21:1 -> 26:2 (count=1)
|
||||
Segment at 4:10 (count = 0), RegionEntry
|
||||
Segment at 4:15 (count = 0), Skipped
|
||||
Segment at 4:17 (count = 2), RegionEntry
|
||||
Segment at 4:22 (count = 0), Skipped
|
||||
Segment at 4:24 (count = 0), RegionEntry
|
||||
Segment at 4:25 (count = 0), Skipped
|
||||
Segment at 4:32 (count = 0), RegionEntry
|
||||
Segment at 4:33 (count = 0), Skipped
|
||||
Segment at 4:35 (count = 0), RegionEntry
|
||||
Segment at 4:36 (count = 0), Skipped
|
||||
Segment at 4:39 (count = 1), RegionEntry
|
||||
Segment at 4:40 (count = 0), Skipped
|
||||
Segment at 4:48 (count = 0), RegionEntry
|
||||
Segment at 4:49 (count = 0), Skipped
|
||||
Segment at 4:51 (count = 0), RegionEntry
|
||||
Segment at 4:52 (count = 0), Skipped
|
||||
Segment at 4:53 (count = 0), RegionEntry
|
||||
Segment at 4:54 (count = 0), Skipped
|
||||
Segment at 7:5 (count = 1), RegionEntry
|
||||
Segment at 7:6 (count = 0), Skipped
|
||||
Segment at 8:5 (count = 0), RegionEntry
|
||||
Segment at 8:17 (count = 0), Skipped
|
||||
Segment at 12:5 (count = 2), RegionEntry
|
||||
Segment at 18:6 (count = 0), Skipped
|
||||
Segment at 21:1 (count = 1), RegionEntry
|
||||
Segment at 26:2 (count = 0), Skipped
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
Counter in file 0 3:1 -> 12:16, #1
|
||||
Counter in file 0 13:5 -> 18:6, #2
|
||||
Counter in file 0 18:6 -> 18:7, (#1 - #2)
|
||||
Counter in file 0 23:13 -> 25:14, ((#2 + (#1 - #2)) + #3)
|
||||
Counter in file 0 27:13 -> 27:18, (((#2 + (#1 - #2)) + #3) - #3)
|
||||
Counter in file 0 29:10 -> 32:10, #3
|
||||
Counter in file 0 35:1 -> 35:2, ((((#2 + (#1 - #2)) + #3) - #3) + 0)
|
||||
Emitting segments for file: ../coverage/simple_loop.rs
|
||||
Combined regions:
|
||||
3:1 -> 12:16 (count=1)
|
||||
13:5 -> 18:6 (count=1)
|
||||
18:6 -> 18:7 (count=0)
|
||||
23:13 -> 25:14 (count=11)
|
||||
27:13 -> 27:18 (count=1)
|
||||
29:10 -> 32:10 (count=10)
|
||||
35:1 -> 35:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 12:16 (count = 0), Skipped
|
||||
Segment at 13:5 (count = 1), RegionEntry
|
||||
Segment at 18:6 (count = 0), RegionEntry
|
||||
Segment at 18:7 (count = 0), Skipped
|
||||
Segment at 23:13 (count = 11), RegionEntry
|
||||
Segment at 25:14 (count = 0), Skipped
|
||||
Segment at 27:13 (count = 1), RegionEntry
|
||||
Segment at 27:18 (count = 0), Skipped
|
||||
Segment at 29:10 (count = 10), RegionEntry
|
||||
Segment at 32:10 (count = 0), Skipped
|
||||
Segment at 35:1 (count = 1), RegionEntry
|
||||
Segment at 35:2 (count = 0), Skipped
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
Counter in file 0 3:1 -> 10:15, #1
|
||||
Counter in file 0 10:16 -> 12:6, #2
|
||||
Counter in file 0 12:6 -> 12:7, (#1 - #2)
|
||||
Counter in file 0 15:9 -> 15:10, (((#2 + (#1 - #2)) + (#3 + #4)) - #5)
|
||||
Counter in file 0 17:9 -> 17:13, ((#2 + (#1 - #2)) + (#3 + #4))
|
||||
Counter in file 0 22:13 -> 22:22, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) + 0)
|
||||
Counter in file 0 24:13 -> 24:14, #3
|
||||
Counter in file 0 26:17 -> 28:18, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) + 0)
|
||||
Counter in file 0 30:13 -> 37:14, (#3 + 0)
|
||||
Counter in file 0 40:13 -> 40:15, #4
|
||||
Counter in file 0 43:1 -> 43:2, #5
|
||||
Emitting segments for file: ../coverage/simple_match.rs
|
||||
Combined regions:
|
||||
3:1 -> 10:15 (count=1)
|
||||
10:16 -> 12:6 (count=1)
|
||||
12:6 -> 12:7 (count=0)
|
||||
15:9 -> 15:10 (count=2)
|
||||
17:9 -> 17:13 (count=3)
|
||||
22:13 -> 22:22 (count=2)
|
||||
24:13 -> 24:14 (count=1)
|
||||
26:17 -> 28:18 (count=2)
|
||||
30:13 -> 37:14 (count=1)
|
||||
40:13 -> 40:15 (count=1)
|
||||
43:1 -> 43:2 (count=1)
|
||||
Segment at 3:1 (count = 1), RegionEntry
|
||||
Segment at 10:15 (count = 0), Skipped
|
||||
Segment at 10:16 (count = 1), RegionEntry
|
||||
Segment at 12:6 (count = 0), RegionEntry
|
||||
Segment at 12:7 (count = 0), Skipped
|
||||
Segment at 15:9 (count = 2), RegionEntry
|
||||
Segment at 15:10 (count = 0), Skipped
|
||||
Segment at 17:9 (count = 3), RegionEntry
|
||||
Segment at 17:13 (count = 0), Skipped
|
||||
Segment at 22:13 (count = 2), RegionEntry
|
||||
Segment at 22:22 (count = 0), Skipped
|
||||
Segment at 24:13 (count = 1), RegionEntry
|
||||
Segment at 24:14 (count = 0), Skipped
|
||||
Segment at 26:17 (count = 2), RegionEntry
|
||||
Segment at 28:18 (count = 0), Skipped
|
||||
Segment at 30:13 (count = 1), RegionEntry
|
||||
Segment at 37:14 (count = 0), Skipped
|
||||
Segment at 40:13 (count = 1), RegionEntry
|
||||
Segment at 40:15 (count = 0), Skipped
|
||||
Segment at 43:1 (count = 1), RegionEntry
|
||||
Segment at 43:2 (count = 0), Skipped
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
Counter in file 0 1:1 -> 2:13, #1
|
||||
Counter in file 0 4:6 -> 5:2, (#1 - #2)
|
||||
Emitting segments for file: ../coverage/tight_inf_loop.rs
|
||||
Combined regions:
|
||||
1:1 -> 2:13 (count=1)
|
||||
4:6 -> 5:2 (count=1)
|
||||
Segment at 1:1 (count = 1), RegionEntry
|
||||
Segment at 2:13 (count = 0), Skipped
|
||||
Segment at 4:6 (count = 1), RegionEntry
|
||||
Segment at 5:2 (count = 0), Skipped
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
Counter in file 0 12:1 -> 14:23, #1
|
||||
Counter in file 0 17:9 -> 17:10, ((#1 + (#2 + #3)) - #4)
|
||||
Counter in file 0 19:9 -> 19:14, (#1 + (#2 + #3))
|
||||
Counter in file 0 21:9 -> 25:26, (((#1 + (#2 + #3)) - #4) + 0)
|
||||
Counter in file 0 27:13 -> 27:41, #8
|
||||
Counter in file 0 27:41 -> 27:42, #5
|
||||
Counter in file 0 28:13 -> 28:42, (#8 - #5)
|
||||
Counter in file 0 28:42 -> 28:43, #6
|
||||
Counter in file 0 32:13 -> 32:42, (((#1 + (#2 + #3)) - #4) - #8)
|
||||
Counter in file 0 32:42 -> 32:43, #7
|
||||
Counter in file 0 35:5 -> 35:11, #4
|
||||
Counter in file 0 36:1 -> 36:2, ((#5 + (#6 + #7)) + #4)
|
||||
Counter in file 0 4:1 -> 5:20, #1
|
||||
Counter in file 0 6:9 -> 6:16, #2
|
||||
Counter in file 0 8:9 -> 8:15, (#1 - #2)
|
||||
Counter in file 0 10:1 -> 10:2, (#2 + (#1 - #2))
|
||||
Emitting segments for file: ../coverage/try_error_result.rs
|
||||
Combined regions:
|
||||
4:1 -> 5:20 (count=6)
|
||||
6:9 -> 6:16 (count=1)
|
||||
8:9 -> 8:15 (count=5)
|
||||
10:1 -> 10:2 (count=6)
|
||||
12:1 -> 14:23 (count=1)
|
||||
17:9 -> 17:10 (count=6)
|
||||
19:9 -> 19:14 (count=6)
|
||||
21:9 -> 25:26 (count=6)
|
||||
27:13 -> 27:41 (count=1)
|
||||
27:41 -> 27:42 (count=1)
|
||||
28:13 -> 28:42 (count=0)
|
||||
28:42 -> 28:43 (count=0)
|
||||
32:13 -> 32:42 (count=5)
|
||||
32:42 -> 32:43 (count=0)
|
||||
35:5 -> 35:11 (count=0)
|
||||
36:1 -> 36:2 (count=1)
|
||||
Segment at 4:1 (count = 6), RegionEntry
|
||||
Segment at 5:20 (count = 0), Skipped
|
||||
Segment at 6:9 (count = 1), RegionEntry
|
||||
Segment at 6:16 (count = 0), Skipped
|
||||
Segment at 8:9 (count = 5), RegionEntry
|
||||
Segment at 8:15 (count = 0), Skipped
|
||||
Segment at 10:1 (count = 6), RegionEntry
|
||||
Segment at 10:2 (count = 0), Skipped
|
||||
Segment at 12:1 (count = 1), RegionEntry
|
||||
Segment at 14:23 (count = 0), Skipped
|
||||
Segment at 17:9 (count = 6), RegionEntry
|
||||
Segment at 17:10 (count = 0), Skipped
|
||||
Segment at 19:9 (count = 6), RegionEntry
|
||||
Segment at 19:14 (count = 0), Skipped
|
||||
Segment at 21:9 (count = 6), RegionEntry
|
||||
Segment at 25:26 (count = 0), Skipped
|
||||
Segment at 27:13 (count = 1), RegionEntry
|
||||
Segment at 27:41 (count = 1), RegionEntry
|
||||
Segment at 27:42 (count = 0), Skipped
|
||||
Segment at 28:13 (count = 0), RegionEntry
|
||||
Segment at 28:42 (count = 0), RegionEntry
|
||||
Segment at 28:43 (count = 0), Skipped
|
||||
Segment at 32:13 (count = 5), RegionEntry
|
||||
Segment at 32:42 (count = 0), RegionEntry
|
||||
Segment at 32:43 (count = 0), Skipped
|
||||
Segment at 35:5 (count = 0), RegionEntry
|
||||
Segment at 35:11 (count = 0), Skipped
|
||||
Segment at 36:1 (count = 1), RegionEntry
|
||||
Segment at 36:2 (count = 0), Skipped
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
Counter in file 0 17:1 -> 19:2, #1
|
||||
Counter in file 0 25:1 -> 27:2, #1
|
||||
Counter in file 0 17:1 -> 19:2, #1
|
||||
Counter in file 0 5:1 -> 12:2, #1
|
||||
Counter in file 0 17:1 -> 19:2, 0
|
||||
Counter in file 0 33:1 -> 35:2, 0
|
||||
Counter in file 0 45:1 -> 48:16, 0
|
||||
Counter in file 0 48:17 -> 50:6, 0
|
||||
Counter in file 0 50:6 -> 50:7, 0
|
||||
Counter in file 0 51:1 -> 51:2, 0
|
||||
Counter in file 0 53:1 -> 61:2, #1
|
||||
Counter in file 0 25:1 -> 27:2, #1
|
||||
Counter in file 0 29:1 -> 31:2, #1
|
||||
Counter in file 0 21:1 -> 23:2, #1
|
||||
Counter in file 0 5:1 -> 5:24, #1
|
||||
Counter in file 0 9:9 -> 11:15, (#1 + 0)
|
||||
Counter in file 0 11:16 -> 13:6, #2
|
||||
Counter in file 0 13:6 -> 13:7, (#1 - #2)
|
||||
Counter in file 0 14:5 -> 15:2, (#2 + (#1 - #2))
|
||||
Counter in file 0 21:1 -> 23:2, #1
|
||||
Counter in file 0 37:1 -> 40:16, #1
|
||||
Counter in file 0 40:17 -> 42:6, #2
|
||||
Counter in file 0 42:6 -> 42:7, (#1 - #2)
|
||||
Counter in file 0 43:1 -> 43:2, (#2 + (#1 - #2))
|
||||
Emitting segments for file: ../coverage/lib/used_crate.rs
|
||||
Combined regions:
|
||||
5:1 -> 5:24 (count=1)
|
||||
9:9 -> 11:15 (count=1)
|
||||
11:16 -> 13:6 (count=1)
|
||||
13:6 -> 13:7 (count=0)
|
||||
14:5 -> 15:2 (count=1)
|
||||
17:1 -> 19:2 (count=2)
|
||||
21:1 -> 23:2 (count=2)
|
||||
25:1 -> 27:2 (count=2)
|
||||
29:1 -> 31:2 (count=2)
|
||||
33:1 -> 35:2 (count=0)
|
||||
37:1 -> 40:16 (count=0)
|
||||
40:17 -> 42:6 (count=0)
|
||||
42:6 -> 42:7 (count=0)
|
||||
43:1 -> 43:2 (count=0)
|
||||
45:1 -> 48:16 (count=0)
|
||||
48:17 -> 50:6 (count=0)
|
||||
50:6 -> 50:7 (count=0)
|
||||
51:1 -> 51:2 (count=0)
|
||||
53:1 -> 61:2 (count=1)
|
||||
Segment at 5:1 (count = 1), RegionEntry
|
||||
Segment at 5:24 (count = 0), Skipped
|
||||
Segment at 9:9 (count = 1), RegionEntry
|
||||
Segment at 11:15 (count = 0), Skipped
|
||||
Segment at 11:16 (count = 1), RegionEntry
|
||||
Segment at 13:6 (count = 0), RegionEntry
|
||||
Segment at 13:7 (count = 0), Skipped
|
||||
Segment at 14:5 (count = 1), RegionEntry
|
||||
Segment at 15:2 (count = 0), Skipped
|
||||
Segment at 17:1 (count = 2), RegionEntry
|
||||
Segment at 19:2 (count = 0), Skipped
|
||||
Segment at 21:1 (count = 2), RegionEntry
|
||||
Segment at 23:2 (count = 0), Skipped
|
||||
Segment at 25:1 (count = 2), RegionEntry
|
||||
Segment at 27:2 (count = 0), Skipped
|
||||
Segment at 29:1 (count = 2), RegionEntry
|
||||
Segment at 31:2 (count = 0), Skipped
|
||||
Segment at 33:1 (count = 0), RegionEntry
|
||||
Segment at 35:2 (count = 0), Skipped
|
||||
Segment at 37:1 (count = 0), RegionEntry
|
||||
Segment at 40:16 (count = 0), Skipped
|
||||
Segment at 40:17 (count = 0), RegionEntry
|
||||
Segment at 42:6 (count = 0), RegionEntry
|
||||
Segment at 42:7 (count = 0), Skipped
|
||||
Segment at 43:1 (count = 0), RegionEntry
|
||||
Segment at 43:2 (count = 0), Skipped
|
||||
Segment at 45:1 (count = 0), RegionEntry
|
||||
Segment at 48:16 (count = 0), Skipped
|
||||
Segment at 48:17 (count = 0), RegionEntry
|
||||
Segment at 50:6 (count = 0), RegionEntry
|
||||
Segment at 50:7 (count = 0), Skipped
|
||||
Segment at 51:1 (count = 0), RegionEntry
|
||||
Segment at 51:2 (count = 0), Skipped
|
||||
Segment at 53:1 (count = 1), RegionEntry
|
||||
Segment at 61:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RINvCsbDqzXfLQacH_10used_crate41used_only_from_bin_crate_generic_functionReECs4fqI2P2rA04_10uses_crate
|
||||
Combined regions:
|
||||
17:1 -> 19:2 (count=1)
|
||||
Segment at 17:1 (count = 1), RegionEntry
|
||||
Segment at 19:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RINvCsbDqzXfLQacH_10used_crate41used_only_from_bin_crate_generic_functionRINtNtCs3QflaznQylx_5alloc3vec3VeclEECs4fqI2P2rA04_10uses_crate
|
||||
Combined regions:
|
||||
17:1 -> 19:2 (count=1)
|
||||
Segment at 17:1 (count = 1), RegionEntry
|
||||
Segment at 19:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RINvCsbDqzXfLQacH_10used_crate46used_only_from_this_lib_crate_generic_functionINtNtCs3QflaznQylx_5alloc3vec3VeclEEB2_
|
||||
Combined regions:
|
||||
21:1 -> 23:2 (count=1)
|
||||
Segment at 21:1 (count = 1), RegionEntry
|
||||
Segment at 23:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RINvCsbDqzXfLQacH_10used_crate46used_only_from_this_lib_crate_generic_functionReEB2_
|
||||
Combined regions:
|
||||
21:1 -> 23:2 (count=1)
|
||||
Segment at 21:1 (count = 1), RegionEntry
|
||||
Segment at 23:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RINvCsbDqzXfLQacH_10used_crate50used_from_bin_crate_and_lib_crate_generic_functionINtNtCs3QflaznQylx_5alloc3vec3VeclEECs4fqI2P2rA04_10uses_crate
|
||||
Combined regions:
|
||||
25:1 -> 27:2 (count=1)
|
||||
Segment at 25:1 (count = 1), RegionEntry
|
||||
Segment at 27:2 (count = 0), Skipped
|
||||
Emitting segments for function: _RINvCsbDqzXfLQacH_10used_crate50used_from_bin_crate_and_lib_crate_generic_functionReEB2_
|
||||
Combined regions:
|
||||
25:1 -> 27:2 (count=1)
|
||||
Segment at 25:1 (count = 1), RegionEntry
|
||||
Segment at 27:2 (count = 0), Skipped
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
Counter in file 0 1:1 -> 2:16, #1
|
||||
Counter in file 0 3:11 -> 3:20, (#1 + #2)
|
||||
Counter in file 0 3:21 -> 4:6, #2
|
||||
Counter in file 0 5:1 -> 5:2, ((#1 + #2) - #2)
|
||||
Emitting segments for file: ../coverage/while.rs
|
||||
Combined regions:
|
||||
1:1 -> 2:16 (count=1)
|
||||
3:11 -> 3:20 (count=1)
|
||||
3:21 -> 4:6 (count=0)
|
||||
5:1 -> 5:2 (count=1)
|
||||
Segment at 1:1 (count = 1), RegionEntry
|
||||
Segment at 2:16 (count = 0), Skipped
|
||||
Segment at 3:11 (count = 1), RegionEntry
|
||||
Segment at 3:20 (count = 0), Skipped
|
||||
Segment at 3:21 (count = 0), RegionEntry
|
||||
Segment at 4:6 (count = 0), Skipped
|
||||
Segment at 5:1 (count = 1), RegionEntry
|
||||
Segment at 5:2 (count = 0), Skipped
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
Counter in file 0 4:1 -> 5:27, #1
|
||||
Counter in file 0 7:9 -> 9:10, (#1 + #2)
|
||||
Counter in file 0 12:13 -> 14:14, ((#1 + #2) - #3)
|
||||
Counter in file 0 18:21 -> 20:22, (((#1 + #2) - #3) - #2)
|
||||
Counter in file 0 22:21 -> 22:27, #4
|
||||
Counter in file 0 26:21 -> 26:27, #5
|
||||
Counter in file 0 29:10 -> 32:10, #2
|
||||
Counter in file 0 35:5 -> 35:11, #3
|
||||
Counter in file 0 36:1 -> 36:2, ((#4 + #5) + #3)
|
||||
Emitting segments for file: ../coverage/while_early_ret.rs
|
||||
Combined regions:
|
||||
4:1 -> 5:27 (count=1)
|
||||
7:9 -> 9:10 (count=7)
|
||||
12:13 -> 14:14 (count=7)
|
||||
18:21 -> 20:22 (count=1)
|
||||
22:21 -> 22:27 (count=0)
|
||||
26:21 -> 26:27 (count=1)
|
||||
29:10 -> 32:10 (count=6)
|
||||
35:5 -> 35:11 (count=0)
|
||||
36:1 -> 36:2 (count=1)
|
||||
Segment at 4:1 (count = 1), RegionEntry
|
||||
Segment at 5:27 (count = 0), Skipped
|
||||
Segment at 7:9 (count = 7), RegionEntry
|
||||
Segment at 9:10 (count = 0), Skipped
|
||||
Segment at 12:13 (count = 7), RegionEntry
|
||||
Segment at 14:14 (count = 0), Skipped
|
||||
Segment at 18:21 (count = 1), RegionEntry
|
||||
Segment at 20:22 (count = 0), Skipped
|
||||
Segment at 22:21 (count = 0), RegionEntry
|
||||
Segment at 22:27 (count = 0), Skipped
|
||||
Segment at 26:21 (count = 1), RegionEntry
|
||||
Segment at 26:27 (count = 0), Skipped
|
||||
Segment at 29:10 (count = 6), RegionEntry
|
||||
Segment at 32:10 (count = 0), Skipped
|
||||
Segment at 35:5 (count = 0), RegionEntry
|
||||
Segment at 35:11 (count = 0), Skipped
|
||||
Segment at 36:1 (count = 1), RegionEntry
|
||||
Segment at 36:2 (count = 0), Skipped
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
Counter in file 0 7:1 -> 7:11, #1
|
||||
Counter in file 0 8:9 -> 8:22, (#1 + 0)
|
||||
Counter in file 0 13:11 -> 14:35, (#1 + 0)
|
||||
Counter in file 0 14:39 -> 14:41, #4
|
||||
Counter in file 0 15:14 -> 15:52, (#2 + #3)
|
||||
Counter in file 0 17:11 -> 17:46, (#4 + 0)
|
||||
Counter in file 0 18:34 -> 18:39, (#4 - #5)
|
||||
Counter in file 0 18:44 -> 18:46, ((#4 - #5) - #6)
|
||||
Counter in file 0 19:14 -> 19:52, (#5 + #6)
|
||||
Counter in file 0 22:9 -> 22:22, (((#4 - #5) - #6) + 0)
|
||||
Counter in file 0 29:11 -> 30:35, (((#4 - #5) - #6) + 0)
|
||||
Counter in file 0 30:39 -> 30:41, #9
|
||||
Counter in file 0 31:14 -> 31:52, (#7 + #8)
|
||||
Counter in file 0 33:11 -> 34:35, (#9 + 0)
|
||||
Counter in file 0 34:39 -> 34:41, #12
|
||||
Counter in file 0 35:14 -> 35:52, (#10 + #11)
|
||||
Counter in file 0 37:1 -> 37:2, (#12 + 0)
|
||||
Counter in file 0 8:28 -> 9:16, #1
|
||||
Counter in file 0 10:16 -> 11:6, #2
|
||||
Counter in file 0 22:28 -> 23:16, #1
|
||||
Counter in file 0 24:9 -> 24:16, #2
|
||||
Counter in file 0 25:9 -> 25:16, #3
|
||||
Counter in file 0 26:16 -> 27:6, #4
|
||||
Emitting segments for file: ../coverage/yield.rs
|
||||
Combined regions:
|
||||
7:1 -> 7:11 (count=1)
|
||||
8:9 -> 8:22 (count=1)
|
||||
8:28 -> 9:16 (count=1)
|
||||
10:16 -> 11:6 (count=1)
|
||||
13:11 -> 14:35 (count=1)
|
||||
14:39 -> 14:41 (count=1)
|
||||
15:14 -> 15:52 (count=0)
|
||||
17:11 -> 17:46 (count=1)
|
||||
18:34 -> 18:39 (count=1)
|
||||
18:44 -> 18:46 (count=1)
|
||||
19:14 -> 19:52 (count=0)
|
||||
22:9 -> 22:22 (count=1)
|
||||
22:28 -> 23:16 (count=1)
|
||||
24:9 -> 24:16 (count=1)
|
||||
25:9 -> 25:16 (count=0)
|
||||
26:16 -> 27:6 (count=0)
|
||||
29:11 -> 30:35 (count=1)
|
||||
30:39 -> 30:41 (count=1)
|
||||
31:14 -> 31:52 (count=0)
|
||||
33:11 -> 34:35 (count=1)
|
||||
34:39 -> 34:41 (count=1)
|
||||
35:14 -> 35:52 (count=0)
|
||||
37:1 -> 37:2 (count=1)
|
||||
Segment at 7:1 (count = 1), RegionEntry
|
||||
Segment at 7:11 (count = 0), Skipped
|
||||
Segment at 8:9 (count = 1), RegionEntry
|
||||
Segment at 8:22 (count = 0), Skipped
|
||||
Segment at 8:28 (count = 1), RegionEntry
|
||||
Segment at 9:16 (count = 0), Skipped
|
||||
Segment at 10:16 (count = 1), RegionEntry
|
||||
Segment at 11:6 (count = 0), Skipped
|
||||
Segment at 13:11 (count = 1), RegionEntry
|
||||
Segment at 14:35 (count = 0), Skipped
|
||||
Segment at 14:39 (count = 1), RegionEntry
|
||||
Segment at 14:41 (count = 0), Skipped
|
||||
Segment at 15:14 (count = 0), RegionEntry
|
||||
Segment at 15:52 (count = 0), Skipped
|
||||
Segment at 17:11 (count = 1), RegionEntry
|
||||
Segment at 17:46 (count = 0), Skipped
|
||||
Segment at 18:34 (count = 1), RegionEntry
|
||||
Segment at 18:39 (count = 0), Skipped
|
||||
Segment at 18:44 (count = 1), RegionEntry
|
||||
Segment at 18:46 (count = 0), Skipped
|
||||
Segment at 19:14 (count = 0), RegionEntry
|
||||
Segment at 19:52 (count = 0), Skipped
|
||||
Segment at 22:9 (count = 1), RegionEntry
|
||||
Segment at 22:22 (count = 0), Skipped
|
||||
Segment at 22:28 (count = 1), RegionEntry
|
||||
Segment at 23:16 (count = 0), Skipped
|
||||
Segment at 24:9 (count = 1), RegionEntry
|
||||
Segment at 24:16 (count = 0), Skipped
|
||||
Segment at 25:9 (count = 0), RegionEntry
|
||||
Segment at 25:16 (count = 0), Skipped
|
||||
Segment at 26:16 (count = 0), RegionEntry
|
||||
Segment at 27:6 (count = 0), Skipped
|
||||
Segment at 29:11 (count = 1), RegionEntry
|
||||
Segment at 30:35 (count = 0), Skipped
|
||||
Segment at 30:39 (count = 1), RegionEntry
|
||||
Segment at 30:41 (count = 0), Skipped
|
||||
Segment at 31:14 (count = 0), RegionEntry
|
||||
Segment at 31:52 (count = 0), Skipped
|
||||
Segment at 33:11 (count = 1), RegionEntry
|
||||
Segment at 34:35 (count = 0), Skipped
|
||||
Segment at 34:39 (count = 1), RegionEntry
|
||||
Segment at 34:41 (count = 0), Skipped
|
||||
Segment at 35:14 (count = 0), RegionEntry
|
||||
Segment at 35:52 (count = 0), Skipped
|
||||
Segment at 37:1 (count = 1), RegionEntry
|
||||
Segment at 37:2 (count = 0), Skipped
|
||||
12
src/test/run-make-fulldeps/coverage-reports/normalize_paths.py
Executable file
12
src/test/run-make-fulldeps/coverage-reports/normalize_paths.py
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import sys
|
||||
|
||||
# Normalize file paths in output
|
||||
for line in sys.stdin:
|
||||
if line.startswith("..") and line.rstrip().endswith(".rs:"):
|
||||
print(line.replace("\\", "/"), end='')
|
||||
else:
|
||||
print(line, end='')
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
import json
|
||||
|
||||
# Try to decode line in order to ensure it is a valid JSON document
|
||||
for line in sys.stdin:
|
||||
parsed = json.loads(line)
|
||||
print (json.dumps(parsed, indent=2, separators=(',', ': '), sort_keys=True))
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
<!DOCTYPE html>
|
||||
<!--
|
||||
|
||||
Preview this file as rendered HTML from the github source at:
|
||||
https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest/doctest.main.-------.InstrumentCoverage.0.html
|
||||
|
||||
For revisions in Pull Requests (PR):
|
||||
* Replace "rust-lang" with the github PR author
|
||||
* Replace "master" with the PR branch name
|
||||
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>doctest.main - Coverage Spans</title>
|
||||
<style>
|
||||
.line {
|
||||
counter-increment: line;
|
||||
}
|
||||
.line:before {
|
||||
content: counter(line) ": ";
|
||||
font-family: Menlo, Monaco, monospace;
|
||||
font-style: italic;
|
||||
width: 3.8em;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
filter: opacity(50%);
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
.code {
|
||||
color: #dddddd;
|
||||
background-color: #222222;
|
||||
font-family: Menlo, Monaco, monospace;
|
||||
line-height: 1.4em;
|
||||
border-bottom: 2px solid #222222;
|
||||
white-space: pre;
|
||||
display: inline-block;
|
||||
}
|
||||
.odd {
|
||||
background-color: #55bbff;
|
||||
color: #223311;
|
||||
}
|
||||
.even {
|
||||
background-color: #ee7756;
|
||||
color: #551133;
|
||||
}
|
||||
.code {
|
||||
--index: calc(var(--layer) - 1);
|
||||
padding-top: calc(var(--index) * 0.15em);
|
||||
filter:
|
||||
hue-rotate(calc(var(--index) * 25deg))
|
||||
saturate(calc(100% - (var(--index) * 2%)))
|
||||
brightness(calc(100% - (var(--index) * 1.5%)));
|
||||
}
|
||||
.annotation {
|
||||
color: #4444ff;
|
||||
font-family: monospace;
|
||||
font-style: italic;
|
||||
display: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
body:active .annotation {
|
||||
/* requires holding mouse down anywhere on the page */
|
||||
display: inline-block;
|
||||
}
|
||||
span:hover .annotation {
|
||||
/* requires hover over a span ONLY on its first line */
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 59"><span class="line"><span><span class="code even" style="--layer: 1"><span class="annotation">@0⦊</span>fn main() <span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0">{</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="61:8-61:12: @0[1]: _1 = const true
|
||||
61:8-61:12: @0[2]: FakeRead(ForMatchedPlace, _1)"><span class="annotation">@0⦊</span>true<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="62:9-62:26: @5[0]: _2 = const ()"><span class="annotation">@5⦊</span></span></span><span class="code even" style="--layer: 2" title="62:9-62:26: @6[5]: _75 = const main::promoted[3]
|
||||
62:9-62:26: @6[6]: _18 = &(*_75)
|
||||
62:9-62:26: @6[7]: _17 = &(*_18)
|
||||
62:9-62:26: @6[8]: _16 = move _17 as &[&str] (Pointer(Unsize))
|
||||
62:9-62:26: @6[17]: _26 = &(*_8)
|
||||
62:9-62:26: @6[18]: _25 = &_26
|
||||
62:9-62:26: @6[21]: _28 = &(*_9)
|
||||
62:9-62:26: @6[22]: _27 = &_28
|
||||
62:9-62:26: @6[23]: _24 = (move _25, move _27)
|
||||
62:9-62:26: @6[26]: FakeRead(ForMatchedPlace, _24)
|
||||
62:9-62:26: @6[28]: _29 = (_24.0: &&i32)
|
||||
62:9-62:26: @6[30]: _30 = (_24.1: &&i32)
|
||||
62:9-62:26: @6[33]: _32 = &(*_29)
|
||||
62:9-62:26: @6[35]: _33 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
62:9-62:26: @6.Call: _31 = ArgumentV1::new::<&i32>(move _32, move _33) -> [return: bb7, unwind: bb17]
|
||||
62:9-62:26: @7[4]: _35 = &(*_30)
|
||||
62:9-62:26: @7[6]: _36 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
62:9-62:26: @7.Call: _34 = ArgumentV1::new::<&i32>(move _35, move _36) -> [return: bb8, unwind: bb17]
|
||||
62:9-62:26: @8[2]: _23 = [move _31, move _34]
|
||||
62:9-62:26: @8[7]: _22 = &_23
|
||||
62:9-62:26: @8[8]: _21 = &(*_22)
|
||||
62:9-62:26: @8[9]: _20 = move _21 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
62:9-62:26: @8.Call: _15 = Arguments::new_v1(move _16, move _20) -> [return: bb9, unwind: bb17]
|
||||
62:9-62:26: @9.Call: core::panicking::panic_fmt(move _15) -> bb17"><span class="annotation">@4,6,7,8,9⦊</span>assert_eq!(1, 1);<span class="annotation">⦉@4,6,7,8,9</span></span><span><span class="code odd" style="--layer: 1" title="62:9-62:26: @5[0]: _2 = const ()"><span class="annotation">⦉@5</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> } else {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="64:9-64:26: @11[0]: _37 = const ()"><span class="annotation">@11⦊</span></span></span><span class="code even" style="--layer: 2" title="64:9-64:26: @12[5]: _72 = const main::promoted[0]
|
||||
64:9-64:26: @12[6]: _53 = &(*_72)
|
||||
64:9-64:26: @12[7]: _52 = &(*_53)
|
||||
64:9-64:26: @12[8]: _51 = move _52 as &[&str] (Pointer(Unsize))
|
||||
64:9-64:26: @12[17]: _61 = &(*_43)
|
||||
64:9-64:26: @12[18]: _60 = &_61
|
||||
64:9-64:26: @12[21]: _63 = &(*_44)
|
||||
64:9-64:26: @12[22]: _62 = &_63
|
||||
64:9-64:26: @12[23]: _59 = (move _60, move _62)
|
||||
64:9-64:26: @12[26]: FakeRead(ForMatchedPlace, _59)
|
||||
64:9-64:26: @12[28]: _64 = (_59.0: &&i32)
|
||||
64:9-64:26: @12[30]: _65 = (_59.1: &&i32)
|
||||
64:9-64:26: @12[33]: _67 = &(*_64)
|
||||
64:9-64:26: @12[35]: _68 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
64:9-64:26: @12.Call: _66 = ArgumentV1::new::<&i32>(move _67, move _68) -> [return: bb13, unwind: bb17]
|
||||
64:9-64:26: @13[4]: _70 = &(*_65)
|
||||
64:9-64:26: @13[6]: _71 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
64:9-64:26: @13.Call: _69 = ArgumentV1::new::<&i32>(move _70, move _71) -> [return: bb14, unwind: bb17]
|
||||
64:9-64:26: @14[2]: _58 = [move _66, move _69]
|
||||
64:9-64:26: @14[7]: _57 = &_58
|
||||
64:9-64:26: @14[8]: _56 = &(*_57)
|
||||
64:9-64:26: @14[9]: _55 = move _56 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
64:9-64:26: @14.Call: _50 = Arguments::new_v1(move _51, move _55) -> [return: bb15, unwind: bb17]
|
||||
64:9-64:26: @15.Call: core::panicking::panic_fmt(move _50) -> bb17"><span class="annotation">@10,12,13,14,15⦊</span>assert_eq!(1, 2);<span class="annotation">⦉@10,12,13,14,15</span></span><span><span class="code even" style="--layer: 1" title="64:9-64:26: @11[0]: _37 = const ()"><span class="annotation">⦉@11</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 odd" style="--layer: 1" title="66:2-66:2: @16.Return: return"><span class="annotation">@16⦊</span>‸<span class="annotation">⦉@16</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
<!DOCTYPE html>
|
||||
<!--
|
||||
|
||||
Preview this file as rendered HTML from the github source at:
|
||||
https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest_crate/doctest_crate.fn_run_in_doctests.-------.InstrumentCoverage.0.html
|
||||
|
||||
For revisions in Pull Requests (PR):
|
||||
* Replace "rust-lang" with the github PR author
|
||||
* Replace "master" with the PR branch name
|
||||
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>doctest_crate.fn_run_in_doctests - Coverage Spans</title>
|
||||
<style>
|
||||
.line {
|
||||
counter-increment: line;
|
||||
}
|
||||
.line:before {
|
||||
content: counter(line) ": ";
|
||||
font-family: Menlo, Monaco, monospace;
|
||||
font-style: italic;
|
||||
width: 3.8em;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
filter: opacity(50%);
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
.code {
|
||||
color: #dddddd;
|
||||
background-color: #222222;
|
||||
font-family: Menlo, Monaco, monospace;
|
||||
line-height: 1.4em;
|
||||
border-bottom: 2px solid #222222;
|
||||
white-space: pre;
|
||||
display: inline-block;
|
||||
}
|
||||
.odd {
|
||||
background-color: #55bbff;
|
||||
color: #223311;
|
||||
}
|
||||
.even {
|
||||
background-color: #ee7756;
|
||||
color: #551133;
|
||||
}
|
||||
.code {
|
||||
--index: calc(var(--layer) - 1);
|
||||
padding-top: calc(var(--index) * 0.15em);
|
||||
filter:
|
||||
hue-rotate(calc(var(--index) * 25deg))
|
||||
saturate(calc(100% - (var(--index) * 2%)))
|
||||
brightness(calc(100% - (var(--index) * 1.5%)));
|
||||
}
|
||||
.annotation {
|
||||
color: #4444ff;
|
||||
font-family: monospace;
|
||||
font-style: italic;
|
||||
display: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
body:active .annotation {
|
||||
/* requires holding mouse down anywhere on the page */
|
||||
display: inline-block;
|
||||
}
|
||||
span:hover .annotation {
|
||||
/* requires hover over a span ONLY on its first line */
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 1"><span class="line"><span><span class="code even" style="--layer: 1"><span class="annotation">@0⦊</span>pub fn fn_run_in_doctests(conditional: usize) <span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0">{</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> match </span><span><span class="code even" style="--layer: 1" title="3:11-3:22: @0[0]: FakeRead(ForMatchedPlace, _1)"><span class="annotation">@0⦊</span>conditional<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 1 => </span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">@7⦊</span></span></span><span class="code even" style="--layer: 2" title="4:14-4:30: @8[5]: _138 = const fn_run_in_doctests::promoted[0]
|
||||
4:14-4:30: @8[6]: _17 = &(*_138)
|
||||
4:14-4:30: @8[7]: _16 = &(*_17)
|
||||
4:14-4:30: @8[8]: _15 = move _16 as &[&str] (Pointer(Unsize))
|
||||
4:14-4:30: @8[17]: _25 = &(*_7)
|
||||
4:14-4:30: @8[18]: _24 = &_25
|
||||
4:14-4:30: @8[21]: _27 = &(*_8)
|
||||
4:14-4:30: @8[22]: _26 = &_27
|
||||
4:14-4:30: @8[23]: _23 = (move _24, move _26)
|
||||
4:14-4:30: @8[26]: FakeRead(ForMatchedPlace, _23)
|
||||
4:14-4:30: @8[28]: _28 = (_23.0: &&i32)
|
||||
4:14-4:30: @8[30]: _29 = (_23.1: &&i32)
|
||||
4:14-4:30: @8[33]: _31 = &(*_28)
|
||||
4:14-4:30: @8[35]: _32 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
4:14-4:30: @8.Call: _30 = ArgumentV1::new::<&i32>(move _31, move _32) -> [return: bb9, unwind: bb33]
|
||||
4:14-4:30: @9[4]: _34 = &(*_29)
|
||||
4:14-4:30: @9[6]: _35 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
4:14-4:30: @9.Call: _33 = ArgumentV1::new::<&i32>(move _34, move _35) -> [return: bb10, unwind: bb33]
|
||||
4:14-4:30: @10[2]: _22 = [move _30, move _33]
|
||||
4:14-4:30: @10[7]: _21 = &_22
|
||||
4:14-4:30: @10[8]: _20 = &(*_21)
|
||||
4:14-4:30: @10[9]: _19 = move _20 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
4:14-4:30: @10.Call: _14 = Arguments::new_v1(move _15, move _19) -> [return: bb11, unwind: bb33]
|
||||
4:14-4:30: @11.Call: core::panicking::panic_fmt(move _14) -> bb33"><span class="annotation">@6,8,9,10,11⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@6,8,9,10,11</span></span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0">, // this is run,</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 2 => </span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @14[0]: _0 = const ()"><span class="annotation">@14⦊</span></span></span><span class="code even" style="--layer: 2" title="5:14-5:30: @15[5]: _141 = const fn_run_in_doctests::promoted[3]
|
||||
5:14-5:30: @15[6]: _51 = &(*_141)
|
||||
5:14-5:30: @15[7]: _50 = &(*_51)
|
||||
5:14-5:30: @15[8]: _49 = move _50 as &[&str] (Pointer(Unsize))
|
||||
5:14-5:30: @15[17]: _59 = &(*_41)
|
||||
5:14-5:30: @15[18]: _58 = &_59
|
||||
5:14-5:30: @15[21]: _61 = &(*_42)
|
||||
5:14-5:30: @15[22]: _60 = &_61
|
||||
5:14-5:30: @15[23]: _57 = (move _58, move _60)
|
||||
5:14-5:30: @15[26]: FakeRead(ForMatchedPlace, _57)
|
||||
5:14-5:30: @15[28]: _62 = (_57.0: &&i32)
|
||||
5:14-5:30: @15[30]: _63 = (_57.1: &&i32)
|
||||
5:14-5:30: @15[33]: _65 = &(*_62)
|
||||
5:14-5:30: @15[35]: _66 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
5:14-5:30: @15.Call: _64 = ArgumentV1::new::<&i32>(move _65, move _66) -> [return: bb16, unwind: bb33]
|
||||
5:14-5:30: @16[4]: _68 = &(*_63)
|
||||
5:14-5:30: @16[6]: _69 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
5:14-5:30: @16.Call: _67 = ArgumentV1::new::<&i32>(move _68, move _69) -> [return: bb17, unwind: bb33]
|
||||
5:14-5:30: @17[2]: _56 = [move _64, move _67]
|
||||
5:14-5:30: @17[7]: _55 = &_56
|
||||
5:14-5:30: @17[8]: _54 = &(*_55)
|
||||
5:14-5:30: @17[9]: _53 = move _54 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
5:14-5:30: @17.Call: _48 = Arguments::new_v1(move _49, move _53) -> [return: bb18, unwind: bb33]
|
||||
5:14-5:30: @18.Call: core::panicking::panic_fmt(move _48) -> bb33"><span class="annotation">@13,15,16,17,18⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@13,15,16,17,18</span></span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @14[0]: _0 = const ()"><span class="annotation">⦉@14</span></span></span><span class="code" style="--layer: 0">, // this,</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 3 => </span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @21[0]: _0 = const ()"><span class="annotation">@21⦊</span></span></span><span class="code even" style="--layer: 2" title="6:14-6:30: @22[5]: _144 = const fn_run_in_doctests::promoted[6]
|
||||
6:14-6:30: @22[6]: _85 = &(*_144)
|
||||
6:14-6:30: @22[7]: _84 = &(*_85)
|
||||
6:14-6:30: @22[8]: _83 = move _84 as &[&str] (Pointer(Unsize))
|
||||
6:14-6:30: @22[17]: _93 = &(*_75)
|
||||
6:14-6:30: @22[18]: _92 = &_93
|
||||
6:14-6:30: @22[21]: _95 = &(*_76)
|
||||
6:14-6:30: @22[22]: _94 = &_95
|
||||
6:14-6:30: @22[23]: _91 = (move _92, move _94)
|
||||
6:14-6:30: @22[26]: FakeRead(ForMatchedPlace, _91)
|
||||
6:14-6:30: @22[28]: _96 = (_91.0: &&i32)
|
||||
6:14-6:30: @22[30]: _97 = (_91.1: &&i32)
|
||||
6:14-6:30: @22[33]: _99 = &(*_96)
|
||||
6:14-6:30: @22[35]: _100 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
6:14-6:30: @22.Call: _98 = ArgumentV1::new::<&i32>(move _99, move _100) -> [return: bb23, unwind: bb33]
|
||||
6:14-6:30: @23[4]: _102 = &(*_97)
|
||||
6:14-6:30: @23[6]: _103 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
6:14-6:30: @23.Call: _101 = ArgumentV1::new::<&i32>(move _102, move _103) -> [return: bb24, unwind: bb33]
|
||||
6:14-6:30: @24[2]: _90 = [move _98, move _101]
|
||||
6:14-6:30: @24[7]: _89 = &_90
|
||||
6:14-6:30: @24[8]: _88 = &(*_89)
|
||||
6:14-6:30: @24[9]: _87 = move _88 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
6:14-6:30: @24.Call: _82 = Arguments::new_v1(move _83, move _87) -> [return: bb25, unwind: bb33]
|
||||
6:14-6:30: @25.Call: core::panicking::panic_fmt(move _82) -> bb33"><span class="annotation">@20,22,23,24,25⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@20,22,23,24,25</span></span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @21[0]: _0 = const ()"><span class="annotation">⦉@21</span></span></span><span class="code" style="--layer: 0">, // and this too</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @27[0]: _0 = const ()"><span class="annotation">@27⦊</span></span></span><span class="code even" style="--layer: 2" title="7:14-7:30: @28[5]: _147 = const fn_run_in_doctests::promoted[9]
|
||||
7:14-7:30: @28[6]: _119 = &(*_147)
|
||||
7:14-7:30: @28[7]: _118 = &(*_119)
|
||||
7:14-7:30: @28[8]: _117 = move _118 as &[&str] (Pointer(Unsize))
|
||||
7:14-7:30: @28[17]: _127 = &(*_109)
|
||||
7:14-7:30: @28[18]: _126 = &_127
|
||||
7:14-7:30: @28[21]: _129 = &(*_110)
|
||||
7:14-7:30: @28[22]: _128 = &_129
|
||||
7:14-7:30: @28[23]: _125 = (move _126, move _128)
|
||||
7:14-7:30: @28[26]: FakeRead(ForMatchedPlace, _125)
|
||||
7:14-7:30: @28[28]: _130 = (_125.0: &&i32)
|
||||
7:14-7:30: @28[30]: _131 = (_125.1: &&i32)
|
||||
7:14-7:30: @28[33]: _133 = &(*_130)
|
||||
7:14-7:30: @28[35]: _134 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
7:14-7:30: @28.Call: _132 = ArgumentV1::new::<&i32>(move _133, move _134) -> [return: bb29, unwind: bb33]
|
||||
7:14-7:30: @29[4]: _136 = &(*_131)
|
||||
7:14-7:30: @29[6]: _137 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
7:14-7:30: @29.Call: _135 = ArgumentV1::new::<&i32>(move _136, move _137) -> [return: bb30, unwind: bb33]
|
||||
7:14-7:30: @30[2]: _124 = [move _132, move _135]
|
||||
7:14-7:30: @30[7]: _123 = &_124
|
||||
7:14-7:30: @30[8]: _122 = &(*_123)
|
||||
7:14-7:30: @30[9]: _121 = move _122 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
7:14-7:30: @30.Call: _116 = Arguments::new_v1(move _117, move _121) -> [return: bb31, unwind: bb33]
|
||||
7:14-7:30: @31.Call: core::panicking::panic_fmt(move _116) -> bb33"><span class="annotation">@26,28,29,30,31⦊</span>assert_eq!(1, 2)<span class="annotation">⦉@26,28,29,30,31</span></span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @27[0]: _0 = const ()"><span class="annotation">⦉@27</span></span></span><span class="code" style="--layer: 0">, // however this is not</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 odd" style="--layer: 1" title="9:2-9:2: @32.Return: return"><span class="annotation">@32⦊</span>‸<span class="annotation">⦉@32</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,271 @@
|
|||
<!DOCTYPE html>
|
||||
<!--
|
||||
|
||||
Preview this file as rendered HTML from the github source at:
|
||||
https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.match_or_pattern/match_or_pattern.main.-------.InstrumentCoverage.0.html
|
||||
|
||||
For revisions in Pull Requests (PR):
|
||||
* Replace "rust-lang" with the github PR author
|
||||
* Replace "master" with the PR branch name
|
||||
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>match_or_pattern.main - Coverage Spans</title>
|
||||
<style>
|
||||
.line {
|
||||
counter-increment: line;
|
||||
}
|
||||
.line:before {
|
||||
content: counter(line) ": ";
|
||||
font-family: Menlo, Monaco, monospace;
|
||||
font-style: italic;
|
||||
width: 3.8em;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
filter: opacity(50%);
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
.code {
|
||||
color: #dddddd;
|
||||
background-color: #222222;
|
||||
font-family: Menlo, Monaco, monospace;
|
||||
line-height: 1.4em;
|
||||
border-bottom: 2px solid #222222;
|
||||
white-space: pre;
|
||||
display: inline-block;
|
||||
}
|
||||
.odd {
|
||||
background-color: #55bbff;
|
||||
color: #223311;
|
||||
}
|
||||
.even {
|
||||
background-color: #ee7756;
|
||||
color: #551133;
|
||||
}
|
||||
.code {
|
||||
--index: calc(var(--layer) - 1);
|
||||
padding-top: calc(var(--index) * 0.15em);
|
||||
filter:
|
||||
hue-rotate(calc(var(--index) * 25deg))
|
||||
saturate(calc(100% - (var(--index) * 2%)))
|
||||
brightness(calc(100% - (var(--index) * 1.5%)));
|
||||
}
|
||||
.annotation {
|
||||
color: #4444ff;
|
||||
font-family: monospace;
|
||||
font-style: italic;
|
||||
display: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
body:active .annotation {
|
||||
/* requires holding mouse down anywhere on the page */
|
||||
display: inline-block;
|
||||
}
|
||||
span:hover .annotation {
|
||||
/* requires hover over a span ONLY on its first line */
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@0,1,2,3⦊</span>fn main() {</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> // Initialize test constants in a way that cannot be determined at compile time, to ensure</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> // dependent conditions.</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> let is_true = std::env::args().len() == 1;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"></span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> let mut a: u8 = 0;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> let mut b: u8 = 0;</span></span>
|
||||
<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb41]
|
||||
7:19-7:35: @1[0]: _3 = &_4
|
||||
7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb40]
|
||||
7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
|
||||
7:9-7:16: @2[3]: FakeRead(ForLet, _1)
|
||||
9:21-9:22: @3[2]: _5 = const 0_u8
|
||||
9:9-9:14: @3[3]: FakeRead(ForLet, _5)
|
||||
9:16-9:18: @3[4]: AscribeUserType(_5, o, UserTypeProjection { base: UserType(1), projs: [] })
|
||||
10:21-10:22: @3[6]: _6 = const 0_u8
|
||||
10:9-10:14: @3[7]: FakeRead(ForLet, _6)
|
||||
10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
|
||||
11:8-11:15: @3[11]: _8 = _1
|
||||
11:8-11:15: @3[12]: FakeRead(ForMatchedPlace, _8)"> if is_true<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="12:9-12:14: @6[0]: _5 = const 2_u8
|
||||
13:9-13:14: @6[1]: _6 = const 0_u8
|
||||
11:16-14:6: @6[2]: _7 = const ()"><span class="annotation">@4,6⦊</span>{</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="12:9-12:14: @6[0]: _5 = const 2_u8
|
||||
13:9-13:14: @6[1]: _6 = const 0_u8
|
||||
11:16-14:6: @6[2]: _7 = const ()"> a = 2;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="12:9-12:14: @6[0]: _5 = const 2_u8
|
||||
13:9-13:14: @6[1]: _6 = const 0_u8
|
||||
11:16-14:6: @6[2]: _7 = const ()"> b = 0;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="12:9-12:14: @6[0]: _5 = const 2_u8
|
||||
13:9-13:14: @6[1]: _6 = const 0_u8
|
||||
11:16-14:6: @6[2]: _7 = const ()"> }<span class="annotation">⦉@4,6</span></span></span><span><span class="code even" style="--layer: 1" title="14:6-14:6: @5[0]: _7 = const ()"><span class="annotation">@5⦊</span>‸<span class="annotation">⦉@5</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> match </span><span><span class="code odd" style="--layer: 1" title="15:12-15:13: @7[5]: _11 = _5
|
||||
15:15-15:16: @7[7]: _12 = _6
|
||||
15:11-15:17: @7[8]: _10 = (move _11, move _12)
|
||||
15:11-15:17: @7[11]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@7⦊</span>(a, b)<span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> // Or patterns generate MIR `SwitchInt` with multiple targets to the same `BasicBlock`.</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> // This test confirms a fix for Issue #79569.</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> (0 | 1, 2 | 3) => </span><span><span class="code even" style="--layer: 1" title="18:27-18:29: @11[0]: _9 = const ()"><span class="annotation">@10,11⦊</span>{}<span class="annotation">⦉@10,11</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code odd" style="--layer: 1" title="19:14-19:16: @8[0]: _9 = const ()"><span class="annotation">@8⦊</span>{}<span class="annotation">⦉@8</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"> if </span><span><span class="code even" style="--layer: 1" title="21:8-21:15: @12[4]: _14 = _1
|
||||
21:8-21:15: @12[5]: FakeRead(ForMatchedPlace, _14)"><span class="annotation">@12⦊</span>is_true<span class="annotation">⦉@12</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="22:9-22:14: @15[0]: _5 = const 0_u8
|
||||
23:9-23:14: @15[1]: _6 = const 0_u8
|
||||
21:16-24:6: @15[2]: _13 = const ()"><span class="annotation">@13,15⦊</span>{</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="22:9-22:14: @15[0]: _5 = const 0_u8
|
||||
23:9-23:14: @15[1]: _6 = const 0_u8
|
||||
21:16-24:6: @15[2]: _13 = const ()"> a = 0;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="22:9-22:14: @15[0]: _5 = const 0_u8
|
||||
23:9-23:14: @15[1]: _6 = const 0_u8
|
||||
21:16-24:6: @15[2]: _13 = const ()"> b = 0;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="22:9-22:14: @15[0]: _5 = const 0_u8
|
||||
23:9-23:14: @15[1]: _6 = const 0_u8
|
||||
21:16-24:6: @15[2]: _13 = const ()"> }<span class="annotation">⦉@13,15</span></span></span><span><span class="code even" style="--layer: 1" title="24:6-24:6: @14[0]: _13 = const ()"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> match </span><span><span class="code odd" style="--layer: 1" title="25:12-25:13: @16[5]: _17 = _5
|
||||
25:15-25:16: @16[7]: _18 = _6
|
||||
25:11-25:17: @16[8]: _16 = (move _17, move _18)
|
||||
25:11-25:17: @16[11]: FakeRead(ForMatchedPlace, _16)"><span class="annotation">@16⦊</span>(a, b)<span class="annotation">⦉@16</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> (0 | 1, 2 | 3) => </span><span><span class="code even" style="--layer: 1" title="26:27-26:29: @20[0]: _15 = const ()"><span class="annotation">@19,20⦊</span>{}<span class="annotation">⦉@19,20</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code odd" style="--layer: 1" title="27:14-27:16: @17[0]: _15 = const ()"><span class="annotation">@17⦊</span>{}<span class="annotation">⦉@17</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"> if </span><span><span class="code even" style="--layer: 1" title="29:8-29:15: @21[4]: _20 = _1
|
||||
29:8-29:15: @21[5]: FakeRead(ForMatchedPlace, _20)"><span class="annotation">@21⦊</span>is_true<span class="annotation">⦉@21</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="30:9-30:14: @24[0]: _5 = const 2_u8
|
||||
31:9-31:14: @24[1]: _6 = const 2_u8
|
||||
29:16-32:6: @24[2]: _19 = const ()"><span class="annotation">@22,24⦊</span>{</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="30:9-30:14: @24[0]: _5 = const 2_u8
|
||||
31:9-31:14: @24[1]: _6 = const 2_u8
|
||||
29:16-32:6: @24[2]: _19 = const ()"> a = 2;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="30:9-30:14: @24[0]: _5 = const 2_u8
|
||||
31:9-31:14: @24[1]: _6 = const 2_u8
|
||||
29:16-32:6: @24[2]: _19 = const ()"> b = 2;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="30:9-30:14: @24[0]: _5 = const 2_u8
|
||||
31:9-31:14: @24[1]: _6 = const 2_u8
|
||||
29:16-32:6: @24[2]: _19 = const ()"> }<span class="annotation">⦉@22,24</span></span></span><span><span class="code even" style="--layer: 1" title="32:6-32:6: @23[0]: _19 = const ()"><span class="annotation">@23⦊</span>‸<span class="annotation">⦉@23</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> match </span><span><span class="code odd" style="--layer: 1" title="33:12-33:13: @25[5]: _23 = _5
|
||||
33:15-33:16: @25[7]: _24 = _6
|
||||
33:11-33:17: @25[8]: _22 = (move _23, move _24)
|
||||
33:11-33:17: @25[11]: FakeRead(ForMatchedPlace, _22)"><span class="annotation">@25⦊</span>(a, b)<span class="annotation">⦉@25</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> (0 | 1, 2 | 3) => </span><span><span class="code even" style="--layer: 1" title="34:27-34:29: @29[0]: _21 = const ()"><span class="annotation">@28,29⦊</span>{}<span class="annotation">⦉@28,29</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code odd" style="--layer: 1" title="35:14-35:16: @26[0]: _21 = const ()"><span class="annotation">@26⦊</span>{}<span class="annotation">⦉@26</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"> if </span><span><span class="code even" style="--layer: 1" title="37:8-37:15: @30[4]: _26 = _1
|
||||
37:8-37:15: @30[5]: FakeRead(ForMatchedPlace, _26)"><span class="annotation">@30⦊</span>is_true<span class="annotation">⦉@30</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="38:9-38:14: @33[0]: _5 = const 0_u8
|
||||
39:9-39:14: @33[1]: _6 = const 2_u8
|
||||
37:16-40:6: @33[2]: _25 = const ()"><span class="annotation">@31,33⦊</span>{</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="38:9-38:14: @33[0]: _5 = const 0_u8
|
||||
39:9-39:14: @33[1]: _6 = const 2_u8
|
||||
37:16-40:6: @33[2]: _25 = const ()"> a = 0;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="38:9-38:14: @33[0]: _5 = const 0_u8
|
||||
39:9-39:14: @33[1]: _6 = const 2_u8
|
||||
37:16-40:6: @33[2]: _25 = const ()"> b = 2;</span></span>
|
||||
<span class="line"><span class="code odd" style="--layer: 1" title="38:9-38:14: @33[0]: _5 = const 0_u8
|
||||
39:9-39:14: @33[1]: _6 = const 2_u8
|
||||
37:16-40:6: @33[2]: _25 = const ()"> }<span class="annotation">⦉@31,33</span></span></span><span><span class="code even" style="--layer: 1" title="40:6-40:6: @32[0]: _25 = const ()"><span class="annotation">@32⦊</span>‸<span class="annotation">⦉@32</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> match </span><span><span class="code odd" style="--layer: 1" title="41:12-41:13: @34[4]: _28 = _5
|
||||
41:15-41:16: @34[6]: _29 = _6
|
||||
41:11-41:17: @34[7]: _27 = (move _28, move _29)
|
||||
41:11-41:17: @34[10]: FakeRead(ForMatchedPlace, _27)"><span class="annotation">@34⦊</span>(a, b)<span class="annotation">⦉@34</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> (0 | 1, 2 | 3) => </span><span><span class="code even" style="--layer: 1" title="42:27-42:29: @38[0]: _0 = const ()"><span class="annotation">@37,38⦊</span>{}<span class="annotation">⦉@37,38</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code odd" style="--layer: 1" title="43:14-43:16: @35[0]: _0 = const ()"><span class="annotation">@35⦊</span>{}<span class="annotation">⦉@35</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="45:2-45:2: @39.Return: return"><span class="annotation">@39⦊</span>‸<span class="annotation">⦉@39</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
# Directory "instrument-coverage" supports the tests at prefix ../instrument-coverage-*
|
||||
# Directory "coverage" supports the tests at prefix ../coverage-*
|
||||
|
||||
# Use ./x.py [options] test src/test/run-make-fulldeps/instrument-coverage to run all related tests.
|
||||
# Use ./x.py [options] test src/test/run-make-fulldeps/coverage to run all related tests.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Common Makefile include for Rust `run-make-fulldeps/instrument-coverage-* tests. Include this
|
||||
# Common Makefile include for Rust `run-make-fulldeps/coverage-* tests. Include this
|
||||
# file with the line:
|
||||
#
|
||||
# -include ../instrument-coverage/coverage_tools.mk
|
||||
# -include ../coverage/coverage_tools.mk
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue