4 Preview this file as rendered HTML from the github source at:
5 https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
7 For revisions in Pull Requests (PR):
8 * Replace "rust-lang" with the github PR author
9 * Replace "master" with the PR branch name
14 <title>if_else.main - Coverage Spans
</title>
17 counter-increment: line;
20 content: counter(line)
": ";
21 font-family: Menlo, Monaco, monospace;
24 display: inline-block;
27 -webkit-user-select: none;
31 background-color: #
222222;
32 font-family: Menlo, Monaco, monospace;
34 border-bottom:
2px solid #
222222;
36 display: inline-block;
39 background-color: #
55bbff;
43 background-color: #ee7756;
47 --index: calc(var(--layer) -
1);
48 padding-top: calc(var(--index) *
0.15em);
50 hue-rotate(calc(var(--index) *
25deg))
51 saturate(calc(
100% - (var(--index) *
2%)))
52 brightness(calc(
100% - (var(--index) *
1.5%)));
56 font-family: monospace;
59 -webkit-user-select: none;
61 body:active .annotation {
62 /* requires holding mouse down anywhere on the page */
63 display: inline-block;
65 span:hover .annotation {
66 /* requires hover over a span ONLY on its first line */
67 display: inline-block;
72 <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: bb11]
73 7:19-7:35: @1[0]: _3 = &_4
74 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
75 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
76 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
77 9:25-9:26: @3[2]: _5 = const 0_i32
78 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
79 11:9-11:16: @3[6]: _7 = _1"><span class=
"annotation">@
0,
1,
2,
3⦊
</span>fn main() {
</span></span>
80 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
81 7:19-7:35: @1[0]: _3 = &_4
82 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
83 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
84 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
85 9:25-9:26: @3[2]: _5 = const 0_i32
86 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
87 11:9-11:16: @3[6]: _7 = _1"> // Initialize test constants in a way that cannot be determined at compile time, to ensure
</span></span>
88 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
89 7:19-7:35: @1[0]: _3 = &_4
90 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
91 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
92 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
93 9:25-9:26: @3[2]: _5 = const 0_i32
94 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
95 11:9-11:16: @3[6]: _7 = _1"> // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
</span></span>
96 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
97 7:19-7:35: @1[0]: _3 = &_4
98 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
99 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
100 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
101 9:25-9:26: @3[2]: _5 = const 0_i32
102 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
103 11:9-11:16: @3[6]: _7 = _1"> // dependent conditions.
</span></span>
104 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
105 7:19-7:35: @1[0]: _3 = &_4
106 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
107 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
108 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
109 9:25-9:26: @3[2]: _5 = const 0_i32
110 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
111 11:9-11:16: @3[6]: _7 = _1"> let is_true = std::env::args().len() ==
1;
</span></span>
112 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
113 7:19-7:35: @1[0]: _3 = &_4
114 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
115 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
116 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
117 9:25-9:26: @3[2]: _5 = const 0_i32
118 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
119 11:9-11:16: @3[6]: _7 = _1"></span></span>
120 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
121 7:19-7:35: @1[0]: _3 = &_4
122 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
123 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
124 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
125 9:25-9:26: @3[2]: _5 = const 0_i32
126 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
127 11:9-11:16: @3[6]: _7 = _1"> let mut countdown =
0;
</span></span>
128 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
129 7:19-7:35: @1[0]: _3 = &_4
130 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
131 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
132 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
133 9:25-9:26: @3[2]: _5 = const 0_i32
134 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
135 11:9-11:16: @3[6]: _7 = _1"> if
</span></span>
136 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb11]
137 7:19-7:35: @1[0]: _3 = &_4
138 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10]
139 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
140 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
141 9:25-9:26: @3[2]: _5 = const 0_i32
142 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
143 11:9-11:16: @3[6]: _7 = _1"> is_true
<span class=
"annotation">⦉@
0,
1,
2,
3</span></span></span><span class=
"code" style=
"--layer: 0"></span></span>
144 <span class=
"line"><span class=
"code" style=
"--layer: 0"> </span><span><span class=
"code odd" style=
"--layer: 1" title=
"13:9-15:15: @4[0]: _5 = const 10_i32
145 12:5-17:6: @4[1]: _6 = const ()"><span class=
"annotation">@
4⦊
</span>{
</span></span>
146 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"13:9-15:15: @4[0]: _5 = const 10_i32
147 12:5-17:6: @4[1]: _6 = const ()"> countdown
</span></span>
148 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"13:9-15:15: @4[0]: _5 = const 10_i32
149 12:5-17:6: @4[1]: _6 = const ()"> =
</span></span>
150 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"13:9-15:15: @4[0]: _5 = const 10_i32
151 12:5-17:6: @4[1]: _6 = const ()"> 10</span></span>
152 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"13:9-15:15: @4[0]: _5 = const 10_i32
153 12:5-17:6: @4[1]: _6 = const ()"> ;
</span></span>
154 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"13:9-15:15: @4[0]: _5 = const 10_i32
155 12:5-17:6: @4[1]: _6 = const ()"> }
<span class=
"annotation">⦉@
4</span></span></span><span class=
"code" style=
"--layer: 0"></span></span>
156 <span class=
"line"><span class=
"code" style=
"--layer: 0"> else // Note coverage region difference without semicolon
</span></span>
157 <span class=
"line"><span class=
"code" style=
"--layer: 0"> {
</span></span>
158 <span class=
"line"><span class=
"code" style=
"--layer: 0"> </span><span><span class=
"code even" style=
"--layer: 1" title=
"20:9-22:16: @5[0]: _5 = const 100_i32
159 20:9-22:16: @5[1]: _6 = const ()"><span class=
"annotation">@
5⦊
</span>countdown
</span></span>
160 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"20:9-22:16: @5[0]: _5 = const 100_i32
161 20:9-22:16: @5[1]: _6 = const ()"> =
</span></span>
162 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"20:9-22:16: @5[0]: _5 = const 100_i32
163 20:9-22:16: @5[1]: _6 = const ()"> 100<span class=
"annotation">⦉@
5</span></span></span><span class=
"code" style=
"--layer: 0"></span></span>
164 <span class=
"line"><span class=
"code" style=
"--layer: 0"> }
</span></span>
165 <span class=
"line"><span class=
"code" style=
"--layer: 0"></span></span>
166 <span class=
"line"><span class=
"code" style=
"--layer: 0"> if
</span></span>
167 <span class=
"line"><span class=
"code" style=
"--layer: 0"> </span><span><span class=
"code odd" style=
"--layer: 1" title=
"26:9-26:16: @6[3]: _8 = _1"><span class=
"annotation">@
6⦊
</span>is_true
<span class=
"annotation">⦉@
6</span></span></span><span class=
"code" style=
"--layer: 0"></span></span>
168 <span class=
"line"><span class=
"code" style=
"--layer: 0"> </span><span><span class=
"code even" style=
"--layer: 1" title=
"28:9-30:15: @7[0]: _5 = const 10_i32
169 27:5-32:6: @7[1]: _0 = const ()"><span class=
"annotation">@
7⦊
</span>{
</span></span>
170 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"28:9-30:15: @7[0]: _5 = const 10_i32
171 27:5-32:6: @7[1]: _0 = const ()"> countdown
</span></span>
172 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"28:9-30:15: @7[0]: _5 = const 10_i32
173 27:5-32:6: @7[1]: _0 = const ()"> =
</span></span>
174 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"28:9-30:15: @7[0]: _5 = const 10_i32
175 27:5-32:6: @7[1]: _0 = const ()"> 10</span></span>
176 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"28:9-30:15: @7[0]: _5 = const 10_i32
177 27:5-32:6: @7[1]: _0 = const ()"> ;
</span></span>
178 <span class=
"line"><span class=
"code even" style=
"--layer: 1" title=
"28:9-30:15: @7[0]: _5 = const 10_i32
179 27:5-32:6: @7[1]: _0 = const ()"> }
<span class=
"annotation">⦉@
7</span></span></span><span class=
"code" style=
"--layer: 0"></span></span>
180 <span class=
"line"><span class=
"code" style=
"--layer: 0"> else
</span></span>
181 <span class=
"line"><span class=
"code" style=
"--layer: 0"> </span><span><span class=
"code odd" style=
"--layer: 1" title=
"35:9-37:16: @8[0]: _5 = const 100_i32
182 34:5-39:6: @8[1]: _0 = const ()"><span class=
"annotation">@
8⦊
</span>{
</span></span>
183 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"35:9-37:16: @8[0]: _5 = const 100_i32
184 34:5-39:6: @8[1]: _0 = const ()"> countdown
</span></span>
185 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"35:9-37:16: @8[0]: _5 = const 100_i32
186 34:5-39:6: @8[1]: _0 = const ()"> =
</span></span>
187 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"35:9-37:16: @8[0]: _5 = const 100_i32
188 34:5-39:6: @8[1]: _0 = const ()"> 100</span></span>
189 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"35:9-37:16: @8[0]: _5 = const 100_i32
190 34:5-39:6: @8[1]: _0 = const ()"> ;
</span></span>
191 <span class=
"line"><span class=
"code odd" style=
"--layer: 1" title=
"35:9-37:16: @8[0]: _5 = const 100_i32
192 34:5-39:6: @8[1]: _0 = const ()"> }
<span class=
"annotation">⦉@
8</span></span></span><span class=
"code" style=
"--layer: 0"></span></span>
193 <span class=
"line"><span class=
"code" style=
"--layer: 0">}
</span><span><span class=
"code even" style=
"--layer: 1" title=
"40:2-40:2: @9.Return: return"><span class=
"annotation">@
9⦊
</span>‸
<span class=
"annotation">⦉@
9</span></span></span></span></div>