]> git.proxmox.com Git - rustc.git/blame - src/test/run-make/coverage/inner_items.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / src / test / run-make / coverage / inner_items.rs
CommitLineData
fc512014 1#![allow(unused_assignments, unused_variables, dead_code)]
29967ef6
XL
2
3fn main() {
4 // Initialize test constants in a way that cannot be determined at compile time, to ensure
5 // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
6 // dependent conditions.
7 let is_true = std::env::args().len() == 1;
8
9 let mut countdown = 0;
10 if is_true {
11 countdown = 10;
12 }
13
14 mod in_mod {
15 const IN_MOD_CONST: u32 = 1000;
16 }
17
18 fn in_func(a: u32) {
19 let b = 1;
20 let c = a + b;
21 println!("c = {}", c)
22 }
23
24 struct InStruct {
25 in_struct_field: u32,
26 }
27
28 const IN_CONST: u32 = 1234;
29
30 trait InTrait {
31 fn trait_func(&mut self, incr: u32);
32
33 fn default_trait_func(&mut self) {
34 in_func(IN_CONST);
35 self.trait_func(IN_CONST);
36 }
37 }
38
39 impl InTrait for InStruct {
40 fn trait_func(&mut self, incr: u32) {
41 self.in_struct_field += incr;
42 in_func(self.in_struct_field);
43 }
44 }
45
46 type InType = String;
47
48 if is_true {
49 in_func(countdown);
50 }
51
52 let mut val = InStruct {
53 in_struct_field: 101,
54 };
55
56 val.default_trait_func();
57}