| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>lazy_boolean.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 class="code" style="--layer: 0">fn main() {</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> // Initialize test constants in a way that cannot be determined at compile time, to ensure</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> // dependent conditions.</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb25] |
| 7:19-7:35: @1[0]: _3 = &_4 |
| 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb24] |
| 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) |
| 7:9-7:16: @2[3]: FakeRead(ForLet, _1) |
| 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) |
| 9:10-9:15: @3[4]: _5 = (_8.0: i32) |
| 9:17-9:22: @3[6]: _6 = (_8.1: i32) |
| 9:24-9:29: @3[8]: _7 = (_8.2: i32)"><span class="annotation">@0,1,2,3⦊</span>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: bb25] |
| 7:19-7:35: @1[0]: _3 = &_4 |
| 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb24] |
| 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) |
| 7:9-7:16: @2[3]: FakeRead(ForLet, _1) |
| 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) |
| 9:10-9:15: @3[4]: _5 = (_8.0: i32) |
| 9:17-9:22: @3[6]: _6 = (_8.1: i32) |
| 9:24-9:29: @3[8]: _7 = (_8.2: i32)"></span></span> |
| <span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb25] |
| 7:19-7:35: @1[0]: _3 = &_4 |
| 7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb24] |
| 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) |
| 7:9-7:16: @2[3]: FakeRead(ForLet, _1) |
| 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) |
| 9:10-9:15: @3[4]: _5 = (_8.0: i32) |
| 9:17-9:22: @3[6]: _6 = (_8.1: i32) |
| 9:24-9:29: @3[8]: _7 = (_8.2: i32)"> let (mut a, mut b, mut c) = (0, 0, 0)<span class="annotation">⦉@0,1,2,3</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="10:8-10:15: @3[12]: _10 = _1 |
| 10:8-10:15: @3[13]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@0,1,2,3⦊</span>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="11:9-11:14: @6[0]: _5 = const 1_i32 |
| 12:9-12:15: @6[1]: _6 = const 10_i32 |
| 13:9-13:16: @6[2]: _7 = const 100_i32 |
| 10:16-14:6: @6[3]: _9 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> |
| <span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:14: @6[0]: _5 = const 1_i32 |
| 12:9-12:15: @6[1]: _6 = const 10_i32 |
| 13:9-13:16: @6[2]: _7 = const 100_i32 |
| 10:16-14:6: @6[3]: _9 = const ()"> a = 1;</span></span> |
| <span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:14: @6[0]: _5 = const 1_i32 |
| 12:9-12:15: @6[1]: _6 = const 10_i32 |
| 13:9-13:16: @6[2]: _7 = const 100_i32 |
| 10:16-14:6: @6[3]: _9 = const ()"> b = 10;</span></span> |
| <span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:14: @6[0]: _5 = const 1_i32 |
| 12:9-12:15: @6[1]: _6 = const 10_i32 |
| 13:9-13:16: @6[2]: _7 = const 100_i32 |
| 10:16-14:6: @6[3]: _9 = const ()"> c = 100;</span></span> |
| <span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:14: @6[0]: _5 = const 1_i32 |
| 12:9-12:15: @6[1]: _6 = const 10_i32 |
| 13:9-13:16: @6[2]: _7 = const 100_i32 |
| 10:16-14:6: @6[3]: _9 = const ()"> }<span class="annotation">⦉@4,6</span></span></span><span class="code" style="--layer: 0"></span></span> |
| <span class="line"><span class="code" style="--layer: 0"> let</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="16:9-16:17: @11[2]: FakeRead(ForLet, _11)"><span class="annotation">@11⦊</span>somebool<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="18:13-18:14: @7[5]: _13 = _5 |
| 18:17-18:18: @7[7]: _14 = _6 |
| 18:13-18:18: @7[8]: _12 = Lt(move _13, move _14)"><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"> ||</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="20:13-20:14: @10[2]: _16 = _6 |
| 20:17-20:18: @10[4]: _17 = _7 |
| 20:13-20:18: @10[5]: _15 = Lt(move _16, move _17)"><span class="annotation">@10⦊</span>b < c<span class="annotation">⦉@10</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"> let</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="23:9-23:17: @15[2]: FakeRead(ForLet, _18)"><span class="annotation">@15⦊</span>somebool<span class="annotation">⦉@15</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="25:13-25:14: @11[6]: _20 = _6 |
| 25:17-25:18: @11[8]: _21 = _5 |
| 25:13-25:18: @11[9]: _19 = Lt(move _20, move _21)"><span class="annotation">@11⦊</span>b < a<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="27:13-27:14: @14[2]: _23 = _6 |
| 27:17-27:18: @14[4]: _24 = _7 |
| 27:13-27:18: @14[5]: _22 = Lt(move _23, move _24)"><span class="annotation">@14⦊</span>b < c<span class="annotation">⦉@14</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"> let</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="30:9-30:17: @19[2]: FakeRead(ForLet, _25)"><span class="annotation">@19⦊</span>somebool<span class="annotation">⦉@19</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="32:13-32:14: @15[6]: _27 = _5 |
| 32:17-32:18: @15[8]: _28 = _6 |
| 32:13-32:18: @15[9]: _26 = Lt(move _27, move _28)"><span class="annotation">@15⦊</span>a < b<span class="annotation">⦉@15</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="34:13-34:14: @18[2]: _30 = _6 |
| 34:17-34:18: @18[4]: _31 = _7 |
| 34:13-34:18: @18[5]: _29 = Lt(move _30, move _31)"><span class="annotation">@18⦊</span>b < c<span class="annotation">⦉@18</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"> let</span></span> |
| <span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="37:9-37:17: @23[2]: FakeRead(ForLet, _32)"><span class="annotation">@23⦊</span>somebool<span class="annotation">⦉@23</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="39:13-39:14: @19[6]: _34 = _6 |
| 39:17-39:18: @19[8]: _35 = _5 |
| 39:13-39:18: @19[9]: _33 = Lt(move _34, move _35)"><span class="annotation">@19⦊</span>b < a<span class="annotation">⦉@19</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="41:13-41:14: @22[2]: _37 = _6 |
| 41:17-41:18: @22[4]: _38 = _7 |
| 41:13-41:18: @22[5]: _36 = Lt(move _37, move _38)"><span class="annotation">@22⦊</span>b < c<span class="annotation">⦉@22</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="43:2-43:2: @23.Return: return"><span class="annotation">@23⦊</span>‸<span class="annotation">⦉@23</span></span></span></span></div> |
| </body> |
| </html> |