@0,1,2,3⦊fn main() ⦉@0,1,2,3{
// Initialize test constants in a way that cannot be determined at compile time, to ensure
// rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
// dependent conditions.
let @0,1,2,3⦊is_true = std::env::args().len() == 1;
let mut countdown = 0;
if is_true⦉@0,1,2,3 @4⦊{
countdown = 10;
}⦉@4@5⦊‸⦉@5
mod in_mod {
const IN_MOD_CONST: u32 = 1000;
}
fn in_func(a: u32) {
let b = 1;
let c = a + b;
println!("c = {}", c)
}
struct InStruct {
in_struct_field: u32,
}
const IN_CONST: u32 = 1234;
trait InTrait {
fn trait_func(&mut self, incr: u32);
fn default_trait_func(&mut self) {
in_func(IN_CONST);
self.trait_func(IN_CONST);
}
}
impl InTrait for InStruct {
fn trait_func(&mut self, incr: u32) {
self.in_struct_field += incr;
in_func(self.in_struct_field);
}
}
type InType = String;
if @6⦊is_true⦉@6 @7,9⦊{
in_func(countdown);
}⦉@7,9@8⦊‸⦉@8
let @10,11⦊mut val = InStruct {
in_struct_field: 101,
};
val.default_trait_func();
}⦉@10,11