| #![allow(unused_assignments, unused_variables, dead_code)] | |
| fn main() { | |
| // 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 is_true = std::env::args().len() == 1; | |
| let mut countdown = 0; | |
| if is_true { | |
| countdown = 10; | |
| } | |
| 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 is_true { | |
| in_func(countdown); | |
| } | |
| let mut val = InStruct { | |
| in_struct_field: 101, // | |
| }; | |
| val.default_trait_func(); | |
| } |