diff options
| author | bors <bors@rust-lang.org> | 2020-10-05 19:34:44 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-10-05 19:34:44 +0000 |
| commit | a1dfd2490a6cb456b92e469fa550dc217e20ad6d (patch) | |
| tree | d54841b8f697d8c9d1225c6bfcd6a7fd629af1f2 /src | |
| parent | ea7e131435a960d154e9a5d6a9297039574ffd7d (diff) | |
| parent | 6f627663a755fb1795a725c1b89d2d83be5096f9 (diff) | |
| download | rust-a1dfd2490a6cb456b92e469fa550dc217e20ad6d.tar.gz rust-a1dfd2490a6cb456b92e469fa550dc217e20ad6d.zip | |
Auto merge of #77080 - richkadel:llvm-coverage-counters-2, r=tmandry
Working branch-level code coverage Add a generalized implementation for computing branch-level coverage spans. This iteration resolves some of the challenges I had identified a few weeks ago. I've tried to implement a solution that is general enough to work for a lot of different graphs/patterns. It's encouraging to see the results on fairly large and complex crates seem to meet my expectations. This may be a "functionally complete" implementation. Except for bug fixes or edge cases I haven't run into yet, the next and essentially final step, I think, is to replace some Counters with CounterExpressions (where their counter values can be computed by adding or subtracting other counters/expressions). Examples of branch-level coverage support enabled in this PR: * https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_show_coverage.coverage_of_drop_trait.txt * https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_show_coverage.coverage_of_if.txt * https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_show_coverage.coverage_of_if_else.txt * https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_show_coverage.coverage_of_simple_loop.txt * https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_show_coverage.coverage_of_simple_match.txt * ... _and others in the same directory_ Examples of coverage analysis results (MIR spanview files) used to inject counters in the right `BasicBlocks`: * https://htmlpreview.github.io/?https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_drop_trait/coverage_of_drop_trait.main.-------.InstrumentCoverage.0.html * https://htmlpreview.github.io/?https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_if/coverage_of_if.main.-------.InstrumentCoverage.0.html * https://htmlpreview.github.io/?https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html * https://htmlpreview.github.io/?https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_simple_loop/coverage_of_simple_loop.main.-------.InstrumentCoverage.0.html * https://htmlpreview.github.io/?https://github.com/richkadel/rust/blob/llvm-coverage-counters-2/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_simple_match/coverage_of_simple_match.main.-------.InstrumentCoverage.0.html * ... _and others in the same directory_ Here is some sample coverage output after compiling a few real-world crates with the new branch-level coverage features: <img width="801" alt="Screen Shot 2020-09-25 at 1 03 11 PM" src="https://user-images.githubusercontent.com/3827298/94316848-fd882c00-ff39-11ea-9cff-0402d3abd1e7.png"> <img width="721" alt="Screen Shot 2020-09-25 at 1 00 36 PM" src="https://user-images.githubusercontent.com/3827298/94316886-11cc2900-ff3a-11ea-9d03-80b26c8a5173.png"> <img width="889" alt="Screen Shot 2020-09-25 at 12 54 57 PM" src="https://user-images.githubusercontent.com/3827298/94316900-18f33700-ff3a-11ea-8a80-58f67d84b8de.png"> r? `@tmandry` FYI: `@wesleywiser`
Diffstat (limited to 'src')
138 files changed, 17766 insertions, 1532 deletions
diff --git a/src/test/mir-opt/graphviz.main.mir_map.0.dot b/src/test/mir-opt/graphviz.main.mir_map.0.dot index df4f11f0f21..8d1da7f1b96 100644 --- a/src/test/mir-opt/graphviz.main.mir_map.0.dot +++ b/src/test/mir-opt/graphviz.main.mir_map.0.dot @@ -3,8 +3,5 @@ digraph Mir_0_3 { node [fontname="Courier, monospace"]; edge [fontname="Courier, monospace"]; label=<fn main() -> ()<br align="left"/>>; - bb0__0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">0</td></tr><tr><td align="left" balign="left">_0 = const ()<br/></td></tr><tr><td align="left">goto</td></tr></table>>]; - bb1__0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">1</td></tr><tr><td align="left">resume</td></tr></table>>]; - bb2__0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">2</td></tr><tr><td align="left">return</td></tr></table>>]; - bb0__0_3 -> bb2__0_3 [label=""]; + bb0__0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">0</td></tr><tr><td align="left" balign="left">_0 = const ()<br/></td></tr><tr><td align="left">return</td></tr></table>>]; } diff --git a/src/test/mir-opt/graphviz.main.mir_map.0.dot.mir b/src/test/mir-opt/graphviz.main.mir_map.0.dot.mir deleted file mode 100644 index 8d1da7f1b96..00000000000 --- a/src/test/mir-opt/graphviz.main.mir_map.0.dot.mir +++ /dev/null @@ -1,7 +0,0 @@ -digraph Mir_0_3 { - graph [fontname="Courier, monospace"]; - node [fontname="Courier, monospace"]; - edge [fontname="Courier, monospace"]; - label=<fn main() -> ()<br align="left"/>>; - bb0__0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">0</td></tr><tr><td align="left" balign="left">_0 = const ()<br/></td></tr><tr><td align="left">return</td></tr></table>>]; -} diff --git a/src/test/mir-opt/instrument_coverage.bar.InstrumentCoverage.diff b/src/test/mir-opt/instrument_coverage.bar.InstrumentCoverage.diff index 5b2572655cc..5048359e5c6 100644 --- a/src/test/mir-opt/instrument_coverage.bar.InstrumentCoverage.diff +++ b/src/test/mir-opt/instrument_coverage.bar.InstrumentCoverage.diff @@ -6,7 +6,7 @@ bb0: { _0 = const true; // scope 0 at /the/src/instrument_coverage.rs:20:5: 20:9 -+ Coverage::Counter(0) for /the/src/instrument_coverage.rs:19:18 - 21:2; // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2 ++ Coverage::Counter(1) for /the/src/instrument_coverage.rs:20:5 - 21:2; // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2 return; // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2 } } diff --git a/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff b/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff index 800754542d9..598727e677c 100644 --- a/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff +++ b/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff @@ -8,7 +8,7 @@ let mut _3: !; // in scope 0 at /the/src/instrument_coverage.rs:12:18: 14:10 bb0: { -+ Coverage::Counter(0) for /the/src/instrument_coverage.rs:10:11 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6 ++ Coverage::Counter(1) for /the/src/instrument_coverage.rs:12:12 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6 falseUnwind -> [real: bb1, cleanup: bb6]; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6 } @@ -26,6 +26,7 @@ } bb3: { ++ Coverage::Counter(2) for /the/src/instrument_coverage.rs:13:13 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10 falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10 } diff --git a/src/test/mir-opt/spanview_block.main.mir_map.0.html b/src/test/mir-opt/spanview_block.main.mir_map.0.html index 8f6b1307971..8e5268043e7 100644 --- a/src/test/mir-opt/spanview_block.main.mir_map.0.html +++ b/src/test/mir-opt/spanview_block.main.mir_map.0.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <title>coverage_of_if_else - Code Regions</title> - <style> +<title>spanview_block.main.mir_map.0</title> +<style> .line { counter-increment: line; } @@ -56,12 +56,11 @@ /* requires hover over a span ONLY on its first line */ display: inline-block; } - </style> +</style> </head> <body> <div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="0: $DIR/spanview-block.rs:5:11: 5:13: 5:11-5:13: Assign: _0 = const () - 5:13-5:13: Goto: goto -> bb2"><span class="annotation">0⦊</span>{}<span class="annotation">⦉0</span></span></span><span><span class="code odd" style="--layer: 1" title="2: $DIR/spanview-block.rs:5:13: 5:13: - 5:13-5:13: Return: return"><span class="annotation">2⦊</span>‸<span class="annotation">⦉2</span></span></span></span></div> + 5:13-5:13: Return: return"><span class="annotation">0⦊</span>{}<span class="annotation">⦉0</span></span></span></span></div> </body> </html> diff --git a/src/test/mir-opt/spanview_statement.main.mir_map.0.html b/src/test/mir-opt/spanview_statement.main.mir_map.0.html index 072d22473a9..abbff2270b7 100644 --- a/src/test/mir-opt/spanview_statement.main.mir_map.0.html +++ b/src/test/mir-opt/spanview_statement.main.mir_map.0.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <title>coverage_of_if_else - Code Regions</title> - <style> +<title>spanview_statement.main.mir_map.0</title> +<style> .line { counter-increment: line; } @@ -56,12 +56,11 @@ /* requires hover over a span ONLY on its first line */ display: inline-block; } - </style> +</style> </head> <body> <div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="0[0]: $DIR/spanview-statement.rs:5:11: 5:13: - 5:11-5:13: Assign: _0 = const ()"><span class="annotation">0[0]⦊</span>{}<span class="annotation">⦉0[0]</span></span></span><span><span class="code odd" style="--layer: 1" title="0:Goto: $DIR/spanview-statement.rs:5:13: 5:13: - 5:13-5:13: Goto: goto -> bb2"><span class="annotation">0:Goto⦊</span>‸<span class="annotation">⦉0:Goto</span></span></span><span><span class="code even" style="--layer: 1" title="2:Return: $DIR/spanview-statement.rs:5:13: 5:13: - 5:13-5:13: Return: return"><span class="annotation">2:Return⦊</span>‸<span class="annotation">⦉2:Return</span></span></span></span></div> + 5:11-5:13: Assign: _0 = const ()"><span class="annotation">0[0]⦊</span>{}<span class="annotation">⦉0[0]</span></span></span><span><span class="code odd" style="--layer: 1" title="0:Return: $DIR/spanview-statement.rs:5:13: 5:13: + 5:13-5:13: Return: return"><span class="annotation">0:Return⦊</span>‸<span class="annotation">⦉0:Return</span></span></span></span></div> </body> </html> diff --git a/src/test/mir-opt/spanview_terminator.main.mir_map.0.html b/src/test/mir-opt/spanview_terminator.main.mir_map.0.html index e023f0f8aea..55fafd90b0a 100644 --- a/src/test/mir-opt/spanview_terminator.main.mir_map.0.html +++ b/src/test/mir-opt/spanview_terminator.main.mir_map.0.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <title>coverage_of_if_else - Code Regions</title> - <style> +<title>spanview_terminator.main.mir_map.0</title> +<style> .line { counter-increment: line; } @@ -56,11 +56,10 @@ /* requires hover over a span ONLY on its first line */ display: inline-block; } - </style> +</style> </head> <body> -<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() {}</span><span><span class="code even" style="--layer: 1" title="0:Goto: $DIR/spanview-terminator.rs:5:13: 5:13: - 5:13-5:13: Goto: goto -> bb2"><span class="annotation">0:Goto⦊</span>‸<span class="annotation">⦉0:Goto</span></span></span><span><span class="code odd" style="--layer: 1" title="2:Return: $DIR/spanview-terminator.rs:5:13: 5:13: - 5:13-5:13: Return: return"><span class="annotation">2:Return⦊</span>‸<span class="annotation">⦉2:Return</span></span></span></span></div> +<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() {}</span><span><span class="code even" style="--layer: 1" title="0:Return: $DIR/spanview-terminator.rs:5:13: 5:13: + 5:13-5:13: Return: return"><span class="annotation">0:Return⦊</span>‸<span class="annotation">⦉0:Return</span></span></span></span></div> </body> </html> diff --git a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/Makefile b/src/test/run-make-fulldeps/coverage-llvmir-base/Makefile index f623248ab57..e84642922d9 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/Makefile +++ b/src/test/run-make-fulldeps/coverage-llvmir-base/Makefile @@ -2,11 +2,11 @@ # ISSUE(76038): When targeting MSVC, Rust binaries built with both `-Z instrument-coverage` and # `-C link-dead-code` typically crash (with a seg-fault) or at best generate an empty `*.profraw`. -# See ../instrument-coverage/coverage_tools.mk for more information. +# See ../coverage/coverage_tools.mk for more information. --include ../instrument-coverage/coverage_tools.mk +-include ../coverage/coverage_tools.mk -BASEDIR=../instrument-coverage-llvm-ir-base +BASEDIR=../coverage-llvmir-base ifeq ($(UNAME),Darwin) INSTR_PROF_DATA_SUFFIX=,regular,live_support diff --git a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/filecheck.testprog.txt b/src/test/run-make-fulldeps/coverage-llvmir-base/filecheck.testprog.txt index 0a3c4aedd55..0a3c4aedd55 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/filecheck.testprog.txt +++ b/src/test/run-make-fulldeps/coverage-llvmir-base/filecheck.testprog.txt diff --git a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/testprog.rs b/src/test/run-make-fulldeps/coverage-llvmir-base/testprog.rs index 358c25677ae..358c25677ae 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/testprog.rs +++ b/src/test/run-make-fulldeps/coverage-llvmir-base/testprog.rs diff --git a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-link-dead-code/Makefile b/src/test/run-make-fulldeps/coverage-llvmir-deadcode/Makefile index ba2126a6b3f..30c7c0fbb51 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-llvm-ir-link-dead-code/Makefile +++ b/src/test/run-make-fulldeps/coverage-llvmir-deadcode/Makefile @@ -4,8 +4,8 @@ # LINK_DEAD_CODE requires ignore-msvc due to Issue #76038 LINK_DEAD_CODE=yes --include ../instrument-coverage-llvm-ir-base/Makefile +-include ../coverage-llvmir-base/Makefile # ISSUE(76038): When targeting MSVC, Rust binaries built with both `-Z instrument-coverage` and # `-C link-dead-code` typically crash (with a seg-fault) or at best generate an empty `*.profraw`. -# See ../instrument-coverage/coverage_tools.mk for more information. \ No newline at end of file +# See ../coverage/coverage_tools.mk for more information. diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/Makefile b/src/test/run-make-fulldeps/coverage-reports-base/Makefile index cb081fb641b..880d7fdb1b0 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/Makefile +++ b/src/test/run-make-fulldeps/coverage-reports-base/Makefile @@ -6,12 +6,12 @@ # ISSUE(76038): When targeting MSVC, Rust binaries built with both `-Z instrument-coverage` and # `-C link-dead-code` typically crash (with a seg-fault) or at best generate an empty `*.profraw`. -# See ../instrument-coverage/coverage_tools.mk for more information. +# See ../coverage/coverage_tools.mk for more information. --include ../instrument-coverage/coverage_tools.mk +-include ../coverage/coverage_tools.mk -BASEDIR=../instrument-coverage-cov-reports-base -SOURCEDIR=../instrument-coverage +BASEDIR=../coverage-reports-base +SOURCEDIR=../coverage all: $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs)) @@ -20,25 +20,29 @@ all: $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs)) clear_expected_if_blessed: ifdef RUSTC_BLESS_TEST rm -f expected_export_coverage.*.json - rm -f typical_show_coverage.*.txt + rm -f expected_show_coverage.*.txt endif -include clear_expected_if_blessed %: $(SOURCEDIR)/%.rs - # Compile the test program with "experimental" coverage instrumentation and generate relevant MIR. - # - # FIXME(richkadel): `-Zexperimental-coverage` to `-Zinstrument-coverage` once we are - # satisfied with the branch-level instrumentation. + # Compile the test program with coverage instrumentation and generate relevant MIR. $(RUSTC) $(SOURCEDIR)/$@.rs \ - -Zexperimental-coverage \ + -Zinstrument-coverage \ -Clink-dead-code=$(LINK_DEAD_CODE) # Run it in order to generate some profiling data, # with `LLVM_PROFILE_FILE=<profdata_file>` environment variable set to # output the coverage stats for this run. LLVM_PROFILE_FILE="$(TMPDIR)"/$@.profraw \ - $(call RUN,$@) + $(call RUN,$@) || \ + ( \ + status=$$?; \ + grep -q "^\/\/ expect-exit-status-$$status" $(SOURCEDIR)/$@.rs || \ + ( >&2 echo "program exited with an unexpected exit status: $$status"; \ + false \ + ) \ + ) # Postprocess the profiling data so it can be used by the llvm-cov tool "$(LLVM_BIN_DIR)"/llvm-profdata merge --sparse \ @@ -57,11 +61,20 @@ endif > "$(TMPDIR)"/actual_show_coverage.$@.txt ifdef RUSTC_BLESS_TEST - cp "$(TMPDIR)"/actual_show_coverage.$@.txt typical_show_coverage.$@.txt + cp "$(TMPDIR)"/actual_show_coverage.$@.txt expected_show_coverage.$@.txt else # Compare the show coverage output (`--bless` refreshes `typical` files) - $(DIFF) typical_show_coverage.$@.txt "$(TMPDIR)"/actual_show_coverage.$@.txt || \ - >&2 echo 'diff failed for `llvm-cov show` on $@ (might not be an error)' + # Note `llvm-cov show` output for some programs can vary, but can be ignored + # by inserting `// ignore-llvm-cov-show-diffs` at the top of the source file. + + $(DIFF) expected_show_coverage.$@.txt "$(TMPDIR)"/actual_show_coverage.$@.txt || \ + ( grep -q '^\/\/ ignore-llvm-cov-show-diffs' $(SOURCEDIR)/$@.rs && \ + >&2 echo 'diff failed, but suppressed with `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs' \ + ) || \ + ( >&2 echo 'diff failed, and not suppressed without `// ignore-llvm-cov-show-diffs` in $(SOURCEDIR)/$@.rs'; \ + false \ + ) + endif # Generate a coverage report in JSON, using `llvm-cov export`, and fail if diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.closure.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.closure.json new file mode 100644 index 00000000000..8c6edae2803 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.closure.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/closure.rs", + "summary": { + "functions": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "instantiations": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "lines": { + "count": 91, + "covered": 75, + "percent": 82.41758241758241 + }, + "regions": { + "count": 21, + "covered": 11, + "notcovered": 10, + "percent": 52.38095238095239 + } + } + } + ], + "totals": { + "functions": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "instantiations": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "lines": { + "count": 91, + "covered": 75, + "percent": 82.41758241758241 + }, + "regions": { + "count": 21, + "covered": 11, + "notcovered": 10, + "percent": 52.38095238095239 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json new file mode 100644 index 00000000000..bd2e2d56d4a --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/drop_trait.rs", + "summary": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 10, + "covered": 10, + "percent": 100 + }, + "regions": { + "count": 5, + "covered": 5, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 10, + "covered": 10, + "percent": 100 + }, + "regions": { + "count": 5, + "covered": 5, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json new file mode 100644 index 00000000000..a50f4657e20 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/generics.rs", + "summary": { + "functions": { + "count": 3, + "covered": 3, + "percent": 100 + }, + "instantiations": { + "count": 5, + "covered": 5, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 16, + "percent": 100 + }, + "regions": { + "count": 6, + "covered": 6, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 3, + "covered": 3, + "percent": 100 + }, + "instantiations": { + "count": 5, + "covered": 5, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 16, + "percent": 100 + }, + "regions": { + "count": 6, + "covered": 6, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if.json new file mode 100644 index 00000000000..2ff53ad33fa --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/if.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 19, + "covered": 19, + "percent": 100 + }, + "regions": { + "count": 4, + "covered": 4, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 19, + "covered": 19, + "percent": 100 + }, + "regions": { + "count": 4, + "covered": 4, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json new file mode 100644 index 00000000000..36f81ceae19 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/if_else.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 28, + "covered": 19, + "percent": 67.85714285714286 + }, + "regions": { + "count": 7, + "covered": 5, + "notcovered": 2, + "percent": 71.42857142857143 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 28, + "covered": 19, + "percent": 67.85714285714286 + }, + "regions": { + "count": 7, + "covered": 5, + "notcovered": 2, + "percent": 71.42857142857143 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.inner_items.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.inner_items.json new file mode 100644 index 00000000000..a24e6a33a33 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.inner_items.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/inner_items.rs", + "summary": { + "functions": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "instantiations": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 13, + "covered": 13, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "instantiations": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 13, + "covered": 13, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.lazy_boolean.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.lazy_boolean.json new file mode 100644 index 00000000000..585346dc32a --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.lazy_boolean.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/lazy_boolean.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 21, + "covered": 19, + "percent": 90.47619047619048 + }, + "regions": { + "count": 16, + "covered": 14, + "notcovered": 2, + "percent": 87.5 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 21, + "covered": 19, + "percent": 90.47619047619048 + }, + "regions": { + "count": 16, + "covered": 14, + "notcovered": 2, + "percent": 87.5 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.loop_break_value.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.loop_break_value.json new file mode 100644 index 00000000000..6cb1465c818 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.loop_break_value.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/loop_break_value.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 11, + "covered": 11, + "percent": 100 + }, + "regions": { + "count": 1, + "covered": 1, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 11, + "covered": 11, + "percent": 100 + }, + "regions": { + "count": 1, + "covered": 1, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_loop.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_loop.json new file mode 100644 index 00000000000..38bc96898ea --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_loop.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/simple_loop.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 18, + "percent": 100 + }, + "regions": { + "count": 7, + "covered": 7, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 18, + "percent": 100 + }, + "regions": { + "count": 7, + "covered": 7, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_match.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_match.json new file mode 100644 index 00000000000..f9d91d66f1d --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_match.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/simple_match.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 9, + "covered": 9, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 9, + "covered": 9, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json new file mode 100644 index 00000000000..e6ef2c1ab89 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/try_error_result.rs", + "summary": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 15, + "percent": 93.75 + }, + "regions": { + "count": 13, + "covered": 12, + "notcovered": 1, + "percent": 92.3076923076923 + } + } + } + ], + "totals": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 15, + "percent": 93.75 + }, + "regions": { + "count": 13, + "covered": 12, + "notcovered": 1, + "percent": 92.3076923076923 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_export_coverage.coverage_of_if_else.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json index 051250d90a2..410821ea335 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_export_coverage.coverage_of_if_else.json +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json @@ -3,7 +3,7 @@ { "files": [ { - "filename": "../instrument-coverage/coverage_of_if_else.rs", + "filename": "../coverage/various_conditions.rs", "summary": { "functions": { "count": 1, @@ -16,15 +16,15 @@ "percent": 100 }, "lines": { - "count": 40, - "covered": 19, - "percent": 47.5 + "count": 49, + "covered": 23, + "percent": 46.93877551020408 }, "regions": { - "count": 71, - "covered": 23, - "notcovered": 48, - "percent": 32.3943661971831 + "count": 51, + "covered": 19, + "notcovered": 32, + "percent": 37.254901960784316 } } } @@ -41,15 +41,15 @@ "percent": 100 }, "lines": { - "count": 40, - "covered": 19, - "percent": 47.5 + "count": 49, + "covered": 23, + "percent": 46.93877551020408 }, "regions": { - "count": 71, - "covered": 23, - "notcovered": 48, - "percent": 32.3943661971831 + "count": 51, + "covered": 19, + "notcovered": 32, + "percent": 37.254901960784316 } } } diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json new file mode 100644 index 00000000000..865b705fa20 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/while_early_return.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 16, + "percent": 88.88888888888889 + }, + "regions": { + "count": 9, + "covered": 7, + "notcovered": 2, + "percent": 77.77777777777779 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 16, + "percent": 88.88888888888889 + }, + "regions": { + "count": 9, + "covered": 7, + "notcovered": 2, + "percent": 77.77777777777779 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.closure.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.closure.txt new file mode 100644 index 00000000000..17054490e9b --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.closure.txt @@ -0,0 +1,94 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| 1|fn main() { + 4| 1| // Initialize test constants in a way that cannot be determined at compile time, to ensure + 5| 1| // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from + 6| 1| // dependent conditions. + 7| 1| let is_true = std::env::args().len() == 1; + 8| 1| let is_false = ! is_true; + 9| 1| + 10| 1| let mut some_string = Some(String::from("the string content")); + 11| 1| println!( + 12| 1| "The string or alt: {}" + 13| 1| , + 14| 1| some_string + 15| 1| . + 16| 1| unwrap_or_else + 17| 1| ( + 18| 1| || + 19| | { + 20| 0| let mut countdown = 0; + 21| 0| if is_false { + 22| 0| countdown = 10; + 23| 0| } + 24| 0| "alt string 1".to_owned() + 25| 1| } + 26| 1| ) + 27| 1| ); + 28| 1| + 29| 1| some_string = Some(String::from("the string content")); + 30| 1| let + 31| 1| a + 32| 1| = + 33| 1| || + 34| | { + 35| 0| let mut countdown = 0; + 36| 0| if is_false { + 37| 0| countdown = 10; + 38| 0| } + 39| 0| "alt string 2".to_owned() + 40| 1| }; + 41| 1| println!( + 42| 1| "The string or alt: {}" + 43| 1| , + 44| 1| some_string + 45| 1| . + 46| 1| unwrap_or_else + 47| 1| ( + 48| 1| a + 49| 1| ) + 50| 1| ); + 51| 1| + 52| 1| some_string = None; + 53| 1| println!( + 54| 1| "The string or alt: {}" + 55| 1| , + 56| 1| some_string + 57| 1| . + 58| 1| unwrap_or_else + 59| 1| ( + 60| 1| || + 61| | { + 62| 1| let mut countdown = 0; + 63| 1| if is_false { + 64| 0| countdown = 10; + 65| 0| } + 66| 1| "alt string 3".to_owned() + 67| 1| } + 68| 1| ) + 69| 1| ); + 70| 1| + 71| 1| some_string = None; + 72| 1| let + 73| 1| a + 74| 1| = + 75| 1| || + 76| | { + 77| 1| let mut countdown = 0; + 78| 1| if is_false { + 79| 0| countdown = 10; + 80| 0| } + 81| 1| "alt string 4".to_owned() + 82| 1| }; + 83| 1| println!( + 84| 1| "The string or alt: {}" + 85| 1| , + 86| 1| some_string + 87| 1| . + 88| 1| unwrap_or_else + 89| 1| ( + 90| 1| a + 91| 1| ) + 92| 1| ); + 93| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt new file mode 100644 index 00000000000..72aa020ca16 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt @@ -0,0 +1,34 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |struct Firework { + 5| | strength: i32, + 6| |} + 7| | + 8| |impl Drop for Firework { + 9| 2| fn drop(&mut self) { + 10| 2| println!("BOOM times {}!!!", self.strength); + 11| 2| } + 12| |} + 13| | + 14| |fn main() -> Result<(),u8> { + 15| 1| let _firecracker = Firework { strength: 1 }; + 16| 1| + 17| 1| let _tnt = Firework { strength: 100 }; + 18| | + 19| 1| if true { + 20| 1| println!("Exiting with error..."); + 21| 1| return Err(1); + 22| | } + 23| | + 24| | let _ = Firework { strength: 1000 }; + 25| | + 26| | Ok(()) + 27| 1|} + 28| | + 29| |// Expected program output: + 30| |// Exiting with error... + 31| |// BOOM times 100!!! + 32| |// BOOM times 1!!! + 33| |// Error: 1 + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt new file mode 100644 index 00000000000..86199d74763 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt @@ -0,0 +1,67 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |struct Firework<T> where T: Copy + std::fmt::Display { + 5| | strength: T, + 6| |} + 7| | + 8| |impl<T> Firework<T> where T: Copy + std::fmt::Display { + 9| | #[inline(always)] + 10| 3| fn set_strength(&mut self, new_strength: T) { + 11| 3| self.strength = new_strength; + 12| 3| } + ------------------ + | <generics::Firework<f64>>::set_strength: + | 10| 2| fn set_strength(&mut self, new_strength: T) { + | 11| 2| self.strength = new_strength; + | 12| 2| } + ------------------ + | <generics::Firework<i32>>::set_strength: + | 10| 1| fn set_strength(&mut self, new_strength: T) { + | 11| 1| self.strength = new_strength; + | 12| 1| } + ------------------ + 13| |} + 14| | + 15| |impl<T> Drop for Firework<T> where T: Copy + std::fmt::Display { + 16| | #[inline(always)] + 17| 2| fn drop(&mut self) { + 18| 2| println!("BOOM times {}!!!", self.strength); + 19| 2| } + ------------------ + | <generics::Firework<i32> as core::ops::drop::Drop>::drop: + | 17| 1| fn drop(&mut self) { + | 18| 1| println!("BOOM times {}!!!", self.strength); + | 19| 1| } + ------------------ + | <generics::Firework<f64> as core::ops::drop::Drop>::drop: + | 17| 1| fn drop(&mut self) { + | 18| 1| println!("BOOM times {}!!!", self.strength); + | 19| 1| } + ------------------ + 20| |} + 21| | + 22| |fn main() -> Result<(),u8> { + 23| 1| let mut firecracker = Firework { strength: 1 }; + 24| 1| firecracker.set_strength(2); + 25| 1| + 26| 1| let mut tnt = Firework { strength: 100.1 }; + 27| 1| tnt.set_strength(200.1); + 28| 1| tnt.set_strength(300.3); + 29| | + 30| 1| if true { + 31| 1| println!("Exiting with error..."); + 32| 1| return Err(1); + 33| | } + 34| | + 35| | let _ = Firework { strength: 1000 }; + 36| | + 37| | Ok(()) + 38| 1|} + 39| | + 40| |// Expected program output: + 41| |// Exiting with error... + 42| |// BOOM times 100!!! + 43| |// BOOM times 1!!! + 44| |// Error: 1 + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if.txt new file mode 100644 index 00000000000..bc2f9b108b2 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if.txt @@ -0,0 +1,29 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn 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 + 8| 1| is_true + 9| 1| = + 10| 1| std::env::args().len() + 11| 1| == + 12| 1| 1 + 13| 1| ; + 14| 1| let + 15| 1| mut + 16| 1| countdown + 17| 1| = + 18| 1| 0 + 19| | ; + 20| | if + 21| 1| is_true + 22| 1| { + 23| 1| countdown + 24| 1| = + 25| 1| 10 + 26| 1| ; + 27| 1| } + 28| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt new file mode 100644 index 00000000000..5f899723e25 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt @@ -0,0 +1,41 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 0; + 10| 1| if + 11| 1| is_true + 12| 1| { + 13| 1| countdown + 14| 1| = + 15| 1| 10 + 16| 1| ; + 17| 1| } + 18| | else // Note coverage region difference without semicolon + 19| | { + 20| 0| countdown + 21| 0| = + 22| 0| 100 + 23| | } + 24| | + 25| | if + 26| 1| is_true + 27| 1| { + 28| 1| countdown + 29| 1| = + 30| 1| 10 + 31| 1| ; + 32| 1| } + 33| | else + 34| 0| { + 35| 0| countdown + 36| 0| = + 37| 0| 100 + 38| 0| ; + 39| 0| } + 40| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.inner_items.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.inner_items.txt new file mode 100644 index 00000000000..b13ca83d018 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.inner_items.txt @@ -0,0 +1,58 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 0; + 10| 1| if is_true { + 11| 1| countdown = 10; + 12| 1| } + 13| | + 14| | mod in_mod { + 15| | const IN_MOD_CONST: u32 = 1000; + 16| | } + 17| | + 18| | fn in_func(a: u32) { + 19| 3| let b = 1; + 20| 3| let c = a + b; + 21| 3| println!("c = {}", c) + 22| 3| } + 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| 1| fn default_trait_func(&mut self) { + 34| 1| in_func(IN_CONST); + 35| 1| self.trait_func(IN_CONST); + 36| 1| } + 37| | } + 38| | + 39| | impl InTrait for InStruct { + 40| | fn trait_func(&mut self, incr: u32) { + 41| 1| self.in_struct_field += incr; + 42| 1| in_func(self.in_struct_field); + 43| 1| } + 44| | } + 45| | + 46| | type InType = String; + 47| | + 48| 1| if is_true { + 49| 1| in_func(countdown); + 50| 1| } + 51| | + 52| 1| let mut val = InStruct { + 53| 1| in_struct_field: 101, + 54| 1| }; + 55| 1| + 56| 1| val.default_trait_func(); + 57| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.lazy_boolean.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.lazy_boolean.txt new file mode 100644 index 00000000000..ded43697515 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.lazy_boolean.txt @@ -0,0 +1,44 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let (mut a, mut b, mut c) = (0, 0, 0); + 10| 1| if is_true { + 11| 1| a = 1; + 12| 1| b = 10; + 13| 1| c = 100; + 14| 1| } + 15| | let + 16| 1| somebool + 17| | = + 18| 1| a < b + 19| | || + 20| 0| b < c + 21| | ; + 22| | let + 23| 1| somebool + 24| | = + 25| 1| b < a + 26| | || + 27| 1| b < c + 28| | ; + 29| | let + 30| 1| somebool + 31| | = + 32| 1| a < b + 33| | && + 34| 1| b < c + 35| | ; + 36| | let + 37| 1| somebool + 38| | = + 39| 1| b < a + 40| | && + 41| 0| b < c + 42| | ; + 43| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.loop_break_value.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.loop_break_value.txt new file mode 100644 index 00000000000..b0d668c6d76 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.loop_break_value.txt @@ -0,0 +1,14 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| 1|fn main() { + 4| 1| let result + 5| 1| = + 6| 1| loop + 7| 1| { + 8| 1| break + 9| 1| 10 + 10| 1| ; + 11| 1| } + 12| 1| ; + 13| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_loop.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_loop.txt new file mode 100644 index 00000000000..f1acb7c5459 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_loop.txt @@ -0,0 +1,36 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 0; + 10| | + 11| | if + 12| 1| is_true + 13| 1| { + 14| 1| countdown + 15| 1| = + 16| 1| 10 + 17| 1| ; + 18| 1| } + 19| | + 20| | loop + 21| | { + 22| | if + 23| 11| countdown + 24| 11| == + 25| 11| 0 + 26| | { + 27| 1| break + 28| | ; + 29| | } + 30| 10| countdown + 31| 10| -= + 32| 10| 1 + 33| | ; + 34| | } + 35| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_match.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_match.txt new file mode 100644 index 00000000000..e42f22cd047 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_match.txt @@ -0,0 +1,44 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 1; + 10| 1| if is_true { + 11| 1| countdown = 0; + 12| 1| } + 13| | + 14| 3| for + 15| 3| _ + 16| | in + 17| 1| 0..2 + 18| | { + 19| | let z + 20| | ; + 21| | match + 22| 2| countdown + 23| 2| { + 24| 2| x + 25| 2| if + 26| 2| x + 27| 2| < + 28| 2| 1 + 29| | => + 30| 1| { + 31| 1| z = countdown + 32| 1| ; + 33| 1| let y = countdown + 34| 1| ; + 35| 1| countdown = 10 + 36| 1| ; + 37| 1| } + 38| | _ + 39| | => + 40| 1| {} + 41| | } + 42| | } + 43| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt new file mode 100644 index 00000000000..ae288d7d7a0 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt @@ -0,0 +1,36 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |fn call(return_error: bool) -> Result<(),()> { + 5| 6| if return_error { + 6| 1| Err(()) + 7| | } else { + 8| 5| Ok(()) + 9| | } + 10| 6|} + 11| | + 12| |fn main() -> Result<(),()> { + 13| 1| let mut + 14| 1| countdown = 10 + 15| | ; + 16| 6| for + 17| 6| _ + 18| | in + 19| 1| 0..10 + 20| | { + 21| 6| countdown + 22| 6| -= 1 + 23| | ; + 24| | if + 25| 6| countdown < 5 + 26| | { + 27| 1| call(/*return_error=*/ true)?; + 28| | } + 29| | else + 30| | { + 31| 5| call(/*return_error=*/ false)?; + 32| | } + 33| | } + 34| 0| Ok(()) + 35| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt new file mode 100644 index 00000000000..173ff4aa4c4 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt @@ -0,0 +1,69 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn main() { + 4| 1| let mut countdown = 0; + 5| 1| if true { + 6| 1| countdown = 10; + 7| 1| } + 8| | + 9| | const B: u32 = 100; + 10| 1| let x = if countdown > 7 { + 11| 1| countdown -= 4; + 12| 1| B + 13| 0| } else if countdown > 2 { + 14| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 15| 0| countdown = 0; + 16| 0| } + 17| 0| countdown -= 5; + 18| 0| countdown + 19| | } else { + 20| 0| return; + 21| | }; + 22| | + 23| 1| let mut countdown = 0; + 24| 1| if true { + 25| 1| countdown = 10; + 26| 1| } + 27| | + 28| 1| if countdown > 7 { + 29| 1| countdown -= 4; + 30| 0| } else if countdown > 2 { + 31| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 32| 0| countdown = 0; + 33| 0| } + 34| 0| countdown -= 5; + 35| | } else { + 36| 0| return; + 37| | } + 38| | + 39| 1| let mut countdown = 0; + 40| 1| if true { + 41| 1| countdown = 1; + 42| 1| } + 43| | + 44| 1| let z = if countdown > 7 { + ^0 + 45| 0| countdown -= 4; + 46| 1| } else if countdown > 2 { + 47| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 48| 0| countdown = 0; + 49| 0| } + 50| 0| countdown -= 5; + 51| | } else { + 52| 1| let should_be_reachable = countdown; + 53| 1| println!("reached"); + 54| 1| return; + 55| | }; + 56| | + 57| 0| let w = if countdown > 7 { + 58| 0| countdown -= 4; + 59| 0| } else if countdown > 2 { + 60| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 61| 0| countdown = 0; + 62| 0| } + 63| 0| countdown -= 5; + 64| | } else { + 65| 0| return; + 66| | }; + 67| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt new file mode 100644 index 00000000000..7dce94f25f3 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt @@ -0,0 +1,48 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |fn main() -> Result<(),u8> { + 5| 1| let mut countdown = 10; + 6| 7| while + 7| 7| countdown + 8| 7| > + 9| 7| 0 + 10| | { + 11| | if + 12| 7| countdown + 13| 7| < + 14| 7| 5 + 15| | { + 16| | return + 17| | if + 18| 1| countdown + 19| 1| > + 20| 1| 8 + 21| | { + 22| 0| Ok(()) + 23| | } + 24| | else + 25| | { + 26| 1| Err(1) + 27| | } + 28| | ; + 29| | } + 30| 6| countdown + 31| 6| -= + 32| 6| 1 + 33| | ; + 34| | } + 35| 0| Ok(()) + 36| 1|} + 37| | + 38| |// ISSUE(77553): Originally, this test had `Err(1)` on line 22 (instead of `Ok(())`) and + 39| |// `std::process::exit(2)` on line 26 (instead of `Err(1)`); and this worked as expected on Linux + 40| |// and MacOS. But on Windows (MSVC, at least), the call to `std::process::exit()` exits the program + 41| |// without saving the InstrProf coverage counters. The use of `std::process:exit()` is not critical + 42| |// to the coverage test for early returns, but this is a limitation that should be fixed. + 43| |// + 44| |// FIXME(richkadel): Consider creating a new tests for coverage when calling `std::process::exit()`, + 45| |// move the `ISSUE` comment to that test, and implement a new test directive that supports skipping + 46| |// coverage tests when targeting specific platforms (at least skipping Windows, or MSVC if the + 47| |// problem exists on MSVC only). + diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/prettify_json.py b/src/test/run-make-fulldeps/coverage-reports-base/prettify_json.py index ed9279841f7..ed9279841f7 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/prettify_json.py +++ b/src/test/run-make-fulldeps/coverage-reports-base/prettify_json.py diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/Makefile b/src/test/run-make-fulldeps/coverage-reports-deadcode/Makefile index ab826d07e05..b6a9acbf18b 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/Makefile +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/Makefile @@ -8,8 +8,8 @@ # LINK_DEAD_CODE requires ignore-msvc due to Issue #76038 LINK_DEAD_CODE=yes --include ../instrument-coverage-cov-reports-base/Makefile +-include ../coverage-reports-base/Makefile # ISSUE(76038): When targeting MSVC, Rust binaries built with both `-Z instrument-coverage` and # `-C link-dead-code` typically crash (with a seg-fault) or at best generate an empty `*.profraw`. -# See ../instrument-coverage/coverage_tools.mk for more information. +# See ../coverage/coverage_tools.mk for more information. diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.closure.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.closure.json new file mode 100644 index 00000000000..8c6edae2803 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.closure.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/closure.rs", + "summary": { + "functions": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "instantiations": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "lines": { + "count": 91, + "covered": 75, + "percent": 82.41758241758241 + }, + "regions": { + "count": 21, + "covered": 11, + "notcovered": 10, + "percent": 52.38095238095239 + } + } + } + ], + "totals": { + "functions": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "instantiations": { + "count": 5, + "covered": 3, + "percent": 60 + }, + "lines": { + "count": 91, + "covered": 75, + "percent": 82.41758241758241 + }, + "regions": { + "count": 21, + "covered": 11, + "notcovered": 10, + "percent": 52.38095238095239 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json new file mode 100644 index 00000000000..bd2e2d56d4a --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/drop_trait.rs", + "summary": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 10, + "covered": 10, + "percent": 100 + }, + "regions": { + "count": 5, + "covered": 5, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 10, + "covered": 10, + "percent": 100 + }, + "regions": { + "count": 5, + "covered": 5, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json new file mode 100644 index 00000000000..a50f4657e20 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/generics.rs", + "summary": { + "functions": { + "count": 3, + "covered": 3, + "percent": 100 + }, + "instantiations": { + "count": 5, + "covered": 5, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 16, + "percent": 100 + }, + "regions": { + "count": 6, + "covered": 6, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 3, + "covered": 3, + "percent": 100 + }, + "instantiations": { + "count": 5, + "covered": 5, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 16, + "percent": 100 + }, + "regions": { + "count": 6, + "covered": 6, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if.json new file mode 100644 index 00000000000..2ff53ad33fa --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/if.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 19, + "covered": 19, + "percent": 100 + }, + "regions": { + "count": 4, + "covered": 4, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 19, + "covered": 19, + "percent": 100 + }, + "regions": { + "count": 4, + "covered": 4, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json new file mode 100644 index 00000000000..36f81ceae19 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/if_else.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 28, + "covered": 19, + "percent": 67.85714285714286 + }, + "regions": { + "count": 7, + "covered": 5, + "notcovered": 2, + "percent": 71.42857142857143 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 28, + "covered": 19, + "percent": 67.85714285714286 + }, + "regions": { + "count": 7, + "covered": 5, + "notcovered": 2, + "percent": 71.42857142857143 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.inner_items.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.inner_items.json new file mode 100644 index 00000000000..a24e6a33a33 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.inner_items.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/inner_items.rs", + "summary": { + "functions": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "instantiations": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 13, + "covered": 13, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "instantiations": { + "count": 4, + "covered": 4, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 13, + "covered": 13, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.lazy_boolean.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.lazy_boolean.json new file mode 100644 index 00000000000..585346dc32a --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.lazy_boolean.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/lazy_boolean.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 21, + "covered": 19, + "percent": 90.47619047619048 + }, + "regions": { + "count": 16, + "covered": 14, + "notcovered": 2, + "percent": 87.5 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 21, + "covered": 19, + "percent": 90.47619047619048 + }, + "regions": { + "count": 16, + "covered": 14, + "notcovered": 2, + "percent": 87.5 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.loop_break_value.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.loop_break_value.json new file mode 100644 index 00000000000..6cb1465c818 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.loop_break_value.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/loop_break_value.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 11, + "covered": 11, + "percent": 100 + }, + "regions": { + "count": 1, + "covered": 1, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 11, + "covered": 11, + "percent": 100 + }, + "regions": { + "count": 1, + "covered": 1, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_loop.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_loop.json new file mode 100644 index 00000000000..38bc96898ea --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_loop.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/simple_loop.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 18, + "percent": 100 + }, + "regions": { + "count": 7, + "covered": 7, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 18, + "percent": 100 + }, + "regions": { + "count": 7, + "covered": 7, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_match.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_match.json new file mode 100644 index 00000000000..f9d91d66f1d --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_match.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/simple_match.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 9, + "covered": 9, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 26, + "covered": 26, + "percent": 100 + }, + "regions": { + "count": 9, + "covered": 9, + "notcovered": 0, + "percent": 100 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json new file mode 100644 index 00000000000..e6ef2c1ab89 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/try_error_result.rs", + "summary": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 15, + "percent": 93.75 + }, + "regions": { + "count": 13, + "covered": 12, + "notcovered": 1, + "percent": 92.3076923076923 + } + } + } + ], + "totals": { + "functions": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "instantiations": { + "count": 2, + "covered": 2, + "percent": 100 + }, + "lines": { + "count": 16, + "covered": 15, + "percent": 93.75 + }, + "regions": { + "count": 13, + "covered": 12, + "notcovered": 1, + "percent": 92.3076923076923 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/expected_export_coverage.coverage_of_if_else.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json index 051250d90a2..410821ea335 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/expected_export_coverage.coverage_of_if_else.json +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json @@ -3,7 +3,7 @@ { "files": [ { - "filename": "../instrument-coverage/coverage_of_if_else.rs", + "filename": "../coverage/various_conditions.rs", "summary": { "functions": { "count": 1, @@ -16,15 +16,15 @@ "percent": 100 }, "lines": { - "count": 40, - "covered": 19, - "percent": 47.5 + "count": 49, + "covered": 23, + "percent": 46.93877551020408 }, "regions": { - "count": 71, - "covered": 23, - "notcovered": 48, - "percent": 32.3943661971831 + "count": 51, + "covered": 19, + "notcovered": 32, + "percent": 37.254901960784316 } } } @@ -41,15 +41,15 @@ "percent": 100 }, "lines": { - "count": 40, - "covered": 19, - "percent": 47.5 + "count": 49, + "covered": 23, + "percent": 46.93877551020408 }, "regions": { - "count": 71, - "covered": 23, - "notcovered": 48, - "percent": 32.3943661971831 + "count": 51, + "covered": 19, + "notcovered": 32, + "percent": 37.254901960784316 } } } diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json new file mode 100644 index 00000000000..865b705fa20 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json @@ -0,0 +1,59 @@ +{ + "data": [ + { + "files": [ + { + "filename": "../coverage/while_early_return.rs", + "summary": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 16, + "percent": 88.88888888888889 + }, + "regions": { + "count": 9, + "covered": 7, + "notcovered": 2, + "percent": 77.77777777777779 + } + } + } + ], + "totals": { + "functions": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "instantiations": { + "count": 1, + "covered": 1, + "percent": 100 + }, + "lines": { + "count": 18, + "covered": 16, + "percent": 88.88888888888889 + }, + "regions": { + "count": 9, + "covered": 7, + "notcovered": 2, + "percent": 77.77777777777779 + } + } + } + ], + "type": "llvm.coverage.json.export", + "version": "2.0.1" +} diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.closure.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.closure.txt new file mode 100644 index 00000000000..17054490e9b --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.closure.txt @@ -0,0 +1,94 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| 1|fn main() { + 4| 1| // Initialize test constants in a way that cannot be determined at compile time, to ensure + 5| 1| // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from + 6| 1| // dependent conditions. + 7| 1| let is_true = std::env::args().len() == 1; + 8| 1| let is_false = ! is_true; + 9| 1| + 10| 1| let mut some_string = Some(String::from("the string content")); + 11| 1| println!( + 12| 1| "The string or alt: {}" + 13| 1| , + 14| 1| some_string + 15| 1| . + 16| 1| unwrap_or_else + 17| 1| ( + 18| 1| || + 19| | { + 20| 0| let mut countdown = 0; + 21| 0| if is_false { + 22| 0| countdown = 10; + 23| 0| } + 24| 0| "alt string 1".to_owned() + 25| 1| } + 26| 1| ) + 27| 1| ); + 28| 1| + 29| 1| some_string = Some(String::from("the string content")); + 30| 1| let + 31| 1| a + 32| 1| = + 33| 1| || + 34| | { + 35| 0| let mut countdown = 0; + 36| 0| if is_false { + 37| 0| countdown = 10; + 38| 0| } + 39| 0| "alt string 2".to_owned() + 40| 1| }; + 41| 1| println!( + 42| 1| "The string or alt: {}" + 43| 1| , + 44| 1| some_string + 45| 1| . + 46| 1| unwrap_or_else + 47| 1| ( + 48| 1| a + 49| 1| ) + 50| 1| ); + 51| 1| + 52| 1| some_string = None; + 53| 1| println!( + 54| 1| "The string or alt: {}" + 55| 1| , + 56| 1| some_string + 57| 1| . + 58| 1| unwrap_or_else + 59| 1| ( + 60| 1| || + 61| | { + 62| 1| let mut countdown = 0; + 63| 1| if is_false { + 64| 0| countdown = 10; + 65| 0| } + 66| 1| "alt string 3".to_owned() + 67| 1| } + 68| 1| ) + 69| 1| ); + 70| 1| + 71| 1| some_string = None; + 72| 1| let + 73| 1| a + 74| 1| = + 75| 1| || + 76| | { + 77| 1| let mut countdown = 0; + 78| 1| if is_false { + 79| 0| countdown = 10; + 80| 0| } + 81| 1| "alt string 4".to_owned() + 82| 1| }; + 83| 1| println!( + 84| 1| "The string or alt: {}" + 85| 1| , + 86| 1| some_string + 87| 1| . + 88| 1| unwrap_or_else + 89| 1| ( + 90| 1| a + 91| 1| ) + 92| 1| ); + 93| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt new file mode 100644 index 00000000000..72aa020ca16 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt @@ -0,0 +1,34 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |struct Firework { + 5| | strength: i32, + 6| |} + 7| | + 8| |impl Drop for Firework { + 9| 2| fn drop(&mut self) { + 10| 2| println!("BOOM times {}!!!", self.strength); + 11| 2| } + 12| |} + 13| | + 14| |fn main() -> Result<(),u8> { + 15| 1| let _firecracker = Firework { strength: 1 }; + 16| 1| + 17| 1| let _tnt = Firework { strength: 100 }; + 18| | + 19| 1| if true { + 20| 1| println!("Exiting with error..."); + 21| 1| return Err(1); + 22| | } + 23| | + 24| | let _ = Firework { strength: 1000 }; + 25| | + 26| | Ok(()) + 27| 1|} + 28| | + 29| |// Expected program output: + 30| |// Exiting with error... + 31| |// BOOM times 100!!! + 32| |// BOOM times 1!!! + 33| |// Error: 1 + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt new file mode 100644 index 00000000000..86199d74763 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt @@ -0,0 +1,67 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |struct Firework<T> where T: Copy + std::fmt::Display { + 5| | strength: T, + 6| |} + 7| | + 8| |impl<T> Firework<T> where T: Copy + std::fmt::Display { + 9| | #[inline(always)] + 10| 3| fn set_strength(&mut self, new_strength: T) { + 11| 3| self.strength = new_strength; + 12| 3| } + ------------------ + | <generics::Firework<f64>>::set_strength: + | 10| 2| fn set_strength(&mut self, new_strength: T) { + | 11| 2| self.strength = new_strength; + | 12| 2| } + ------------------ + | <generics::Firework<i32>>::set_strength: + | 10| 1| fn set_strength(&mut self, new_strength: T) { + | 11| 1| self.strength = new_strength; + | 12| 1| } + ------------------ + 13| |} + 14| | + 15| |impl<T> Drop for Firework<T> where T: Copy + std::fmt::Display { + 16| | #[inline(always)] + 17| 2| fn drop(&mut self) { + 18| 2| println!("BOOM times {}!!!", self.strength); + 19| 2| } + ------------------ + | <generics::Firework<i32> as core::ops::drop::Drop>::drop: + | 17| 1| fn drop(&mut self) { + | 18| 1| println!("BOOM times {}!!!", self.strength); + | 19| 1| } + ------------------ + | <generics::Firework<f64> as core::ops::drop::Drop>::drop: + | 17| 1| fn drop(&mut self) { + | 18| 1| println!("BOOM times {}!!!", self.strength); + | 19| 1| } + ------------------ + 20| |} + 21| | + 22| |fn main() -> Result<(),u8> { + 23| 1| let mut firecracker = Firework { strength: 1 }; + 24| 1| firecracker.set_strength(2); + 25| 1| + 26| 1| let mut tnt = Firework { strength: 100.1 }; + 27| 1| tnt.set_strength(200.1); + 28| 1| tnt.set_strength(300.3); + 29| | + 30| 1| if true { + 31| 1| println!("Exiting with error..."); + 32| 1| return Err(1); + 33| | } + 34| | + 35| | let _ = Firework { strength: 1000 }; + 36| | + 37| | Ok(()) + 38| 1|} + 39| | + 40| |// Expected program output: + 41| |// Exiting with error... + 42| |// BOOM times 100!!! + 43| |// BOOM times 1!!! + 44| |// Error: 1 + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if.txt new file mode 100644 index 00000000000..bc2f9b108b2 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if.txt @@ -0,0 +1,29 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn 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 + 8| 1| is_true + 9| 1| = + 10| 1| std::env::args().len() + 11| 1| == + 12| 1| 1 + 13| 1| ; + 14| 1| let + 15| 1| mut + 16| 1| countdown + 17| 1| = + 18| 1| 0 + 19| | ; + 20| | if + 21| 1| is_true + 22| 1| { + 23| 1| countdown + 24| 1| = + 25| 1| 10 + 26| 1| ; + 27| 1| } + 28| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt new file mode 100644 index 00000000000..5f899723e25 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt @@ -0,0 +1,41 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 0; + 10| 1| if + 11| 1| is_true + 12| 1| { + 13| 1| countdown + 14| 1| = + 15| 1| 10 + 16| 1| ; + 17| 1| } + 18| | else // Note coverage region difference without semicolon + 19| | { + 20| 0| countdown + 21| 0| = + 22| 0| 100 + 23| | } + 24| | + 25| | if + 26| 1| is_true + 27| 1| { + 28| 1| countdown + 29| 1| = + 30| 1| 10 + 31| 1| ; + 32| 1| } + 33| | else + 34| 0| { + 35| 0| countdown + 36| 0| = + 37| 0| 100 + 38| 0| ; + 39| 0| } + 40| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.inner_items.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.inner_items.txt new file mode 100644 index 00000000000..b13ca83d018 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.inner_items.txt @@ -0,0 +1,58 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 0; + 10| 1| if is_true { + 11| 1| countdown = 10; + 12| 1| } + 13| | + 14| | mod in_mod { + 15| | const IN_MOD_CONST: u32 = 1000; + 16| | } + 17| | + 18| | fn in_func(a: u32) { + 19| 3| let b = 1; + 20| 3| let c = a + b; + 21| 3| println!("c = {}", c) + 22| 3| } + 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| 1| fn default_trait_func(&mut self) { + 34| 1| in_func(IN_CONST); + 35| 1| self.trait_func(IN_CONST); + 36| 1| } + 37| | } + 38| | + 39| | impl InTrait for InStruct { + 40| | fn trait_func(&mut self, incr: u32) { + 41| 1| self.in_struct_field += incr; + 42| 1| in_func(self.in_struct_field); + 43| 1| } + 44| | } + 45| | + 46| | type InType = String; + 47| | + 48| 1| if is_true { + 49| 1| in_func(countdown); + 50| 1| } + 51| | + 52| 1| let mut val = InStruct { + 53| 1| in_struct_field: 101, + 54| 1| }; + 55| 1| + 56| 1| val.default_trait_func(); + 57| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.lazy_boolean.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.lazy_boolean.txt new file mode 100644 index 00000000000..ded43697515 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.lazy_boolean.txt @@ -0,0 +1,44 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let (mut a, mut b, mut c) = (0, 0, 0); + 10| 1| if is_true { + 11| 1| a = 1; + 12| 1| b = 10; + 13| 1| c = 100; + 14| 1| } + 15| | let + 16| 1| somebool + 17| | = + 18| 1| a < b + 19| | || + 20| 0| b < c + 21| | ; + 22| | let + 23| 1| somebool + 24| | = + 25| 1| b < a + 26| | || + 27| 1| b < c + 28| | ; + 29| | let + 30| 1| somebool + 31| | = + 32| 1| a < b + 33| | && + 34| 1| b < c + 35| | ; + 36| | let + 37| 1| somebool + 38| | = + 39| 1| b < a + 40| | && + 41| 0| b < c + 42| | ; + 43| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.loop_break_value.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.loop_break_value.txt new file mode 100644 index 00000000000..b0d668c6d76 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.loop_break_value.txt @@ -0,0 +1,14 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| 1|fn main() { + 4| 1| let result + 5| 1| = + 6| 1| loop + 7| 1| { + 8| 1| break + 9| 1| 10 + 10| 1| ; + 11| 1| } + 12| 1| ; + 13| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_loop.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_loop.txt new file mode 100644 index 00000000000..f1acb7c5459 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_loop.txt @@ -0,0 +1,36 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 0; + 10| | + 11| | if + 12| 1| is_true + 13| 1| { + 14| 1| countdown + 15| 1| = + 16| 1| 10 + 17| 1| ; + 18| 1| } + 19| | + 20| | loop + 21| | { + 22| | if + 23| 11| countdown + 24| 11| == + 25| 11| 0 + 26| | { + 27| 1| break + 28| | ; + 29| | } + 30| 10| countdown + 31| 10| -= + 32| 10| 1 + 33| | ; + 34| | } + 35| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_match.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_match.txt new file mode 100644 index 00000000000..e42f22cd047 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_match.txt @@ -0,0 +1,44 @@ + 1| |#![allow(unused_assignments)] + 2| | + 3| |fn 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| 1| let is_true = std::env::args().len() == 1; + 8| 1| + 9| 1| let mut countdown = 1; + 10| 1| if is_true { + 11| 1| countdown = 0; + 12| 1| } + 13| | + 14| 3| for + 15| 3| _ + 16| | in + 17| 1| 0..2 + 18| | { + 19| | let z + 20| | ; + 21| | match + 22| 2| countdown + 23| 2| { + 24| 2| x + 25| 2| if + 26| 2| x + 27| 2| < + 28| 2| 1 + 29| | => + 30| 1| { + 31| 1| z = countdown + 32| 1| ; + 33| 1| let y = countdown + 34| 1| ; + 35| 1| countdown = 10 + 36| 1| ; + 37| 1| } + 38| | _ + 39| | => + 40| 1| {} + 41| | } + 42| | } + 43| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt new file mode 100644 index 00000000000..ae288d7d7a0 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt @@ -0,0 +1,36 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |fn call(return_error: bool) -> Result<(),()> { + 5| 6| if return_error { + 6| 1| Err(()) + 7| | } else { + 8| 5| Ok(()) + 9| | } + 10| 6|} + 11| | + 12| |fn main() -> Result<(),()> { + 13| 1| let mut + 14| 1| countdown = 10 + 15| | ; + 16| 6| for + 17| 6| _ + 18| | in + 19| 1| 0..10 + 20| | { + 21| 6| countdown + 22| 6| -= 1 + 23| | ; + 24| | if + 25| 6| countdown < 5 + 26| | { + 27| 1| call(/*return_error=*/ true)?; + 28| | } + 29| | else + 30| | { + 31| 5| call(/*return_error=*/ false)?; + 32| | } + 33| | } + 34| 0| Ok(()) + 35| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt new file mode 100644 index 00000000000..173ff4aa4c4 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt @@ -0,0 +1,69 @@ + 1| |#![allow(unused_assignments, unused_variables)] + 2| | + 3| |fn main() { + 4| 1| let mut countdown = 0; + 5| 1| if true { + 6| 1| countdown = 10; + 7| 1| } + 8| | + 9| | const B: u32 = 100; + 10| 1| let x = if countdown > 7 { + 11| 1| countdown -= 4; + 12| 1| B + 13| 0| } else if countdown > 2 { + 14| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 15| 0| countdown = 0; + 16| 0| } + 17| 0| countdown -= 5; + 18| 0| countdown + 19| | } else { + 20| 0| return; + 21| | }; + 22| | + 23| 1| let mut countdown = 0; + 24| 1| if true { + 25| 1| countdown = 10; + 26| 1| } + 27| | + 28| 1| if countdown > 7 { + 29| 1| countdown -= 4; + 30| 0| } else if countdown > 2 { + 31| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 32| 0| countdown = 0; + 33| 0| } + 34| 0| countdown -= 5; + 35| | } else { + 36| 0| return; + 37| | } + 38| | + 39| 1| let mut countdown = 0; + 40| 1| if true { + 41| 1| countdown = 1; + 42| 1| } + 43| | + 44| 1| let z = if countdown > 7 { + ^0 + 45| 0| countdown -= 4; + 46| 1| } else if countdown > 2 { + 47| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 48| 0| countdown = 0; + 49| 0| } + 50| 0| countdown -= 5; + 51| | } else { + 52| 1| let should_be_reachable = countdown; + 53| 1| println!("reached"); + 54| 1| return; + 55| | }; + 56| | + 57| 0| let w = if countdown > 7 { + 58| 0| countdown -= 4; + 59| 0| } else if countdown > 2 { + 60| 0| if countdown < 1 || countdown > 5 || countdown != 9 { + 61| 0| countdown = 0; + 62| 0| } + 63| 0| countdown -= 5; + 64| | } else { + 65| 0| return; + 66| | }; + 67| 1|} + diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt new file mode 100644 index 00000000000..7dce94f25f3 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt @@ -0,0 +1,48 @@ + 1| |#![allow(unused_assignments)] + 2| |// expect-exit-status-1 + 3| | + 4| |fn main() -> Result<(),u8> { + 5| 1| let mut countdown = 10; + 6| 7| while + 7| 7| countdown + 8| 7| > + 9| 7| 0 + 10| | { + 11| | if + 12| 7| countdown + 13| 7| < + 14| 7| 5 + 15| | { + 16| | return + 17| | if + 18| 1| countdown + 19| 1| > + 20| 1| 8 + 21| | { + 22| 0| Ok(()) + 23| | } + 24| | else + 25| | { + 26| 1| Err(1) + 27| | } + 28| | ; + 29| | } + 30| 6| countdown + 31| 6| -= + 32| 6| 1 + 33| | ; + 34| | } + 35| 0| Ok(()) + 36| 1|} + 37| | + 38| |// ISSUE(77553): Originally, this test had `Err(1)` on line 22 (instead of `Ok(())`) and + 39| |// `std::process::exit(2)` on line 26 (instead of `Err(1)`); and this worked as expected on Linux + 40| |// and MacOS. But on Windows (MSVC, at least), the call to `std::process::exit()` exits the program + 41| |// without saving the InstrProf coverage counters. The use of `std::process:exit()` is not critical + 42| |// to the coverage test for early returns, but this is a limitation that should be fixed. + 43| |// + 44| |// FIXME(richkadel): Consider creating a new tests for coverage when calling `std::process::exit()`, + 45| |// move the `ISSUE` comment to that test, and implement a new test directive that supports skipping + 46| |// coverage tests when targeting specific platforms (at least skipping Windows, or MSVC if the + 47| |// problem exists on MSVC only). + diff --git a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/Makefile b/src/test/run-make-fulldeps/coverage-spanview-base/Makefile index 5cd425979ea..fa2f4ec394e 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/Makefile +++ b/src/test/run-make-fulldeps/coverage-spanview-base/Makefile @@ -2,11 +2,11 @@ # ISSUE(76038): When targeting MSVC, Rust binaries built with both `-Z instrument-coverage` and # `-C link-dead-code` typically crash (with a seg-fault) or at best generate an empty `*.profraw`. -# See ../instrument-coverage/coverage_tools.mk for more information. +# See ../coverage/coverage_tools.mk for more information. --include ../instrument-coverage/coverage_tools.mk +-include ../coverage/coverage_tools.mk -SOURCEDIR=../instrument-coverage +SOURCEDIR=../coverage all: $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs)) @@ -20,12 +20,9 @@ endif -include clear_expected_if_blessed %: $(SOURCEDIR)/%.rs - # Compile the test program with "experimental" coverage instrumentation and generate relevant MIR. - # - # FIXME(richkadel): `-Zexperimental-coverage` to `-Zinstrument-coverage` once we are - # satisfied with the branch-level instrumentation. + # Compile the test program with coverage instrumentation and generate relevant MIR. $(RUSTC) $(SOURCEDIR)/$@.rs \ - -Zexperimental-coverage \ + -Zinstrument-coverage \ -Clink-dead-code=$(LINK_DEAD_CODE) \ -Zdump-mir=InstrumentCoverage \ -Zdump-mir-dir="$(TMPDIR)"/mir_dump.$@ diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..43f75c574d0 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#0} - 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 32"><span class="line"> <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="code even" style="--layer: 1" title="35:29-35:30: @0[1]: _2 = const 0_i32 +35:13-35:26: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="36:12-36:20: @0[5]: _4 = (*((*_1).0: &bool)) +36:12-36:20: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="37:13-37:27: @3[0]: _2 = const 10_i32 +36:21-38:10: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="37:13-37:27: @3[0]: _2 = const 10_i32 +36:21-38:10: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="37:13-37:27: @3[0]: _2 = const 10_i32 +36:21-38:10: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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:9-39:23: @4[4]: _6 = const "alt string 2" +39:9-39:23: @4[5]: _5 = &(*_6) +39:9-39:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +40:6-40:6: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 2".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="39:9-39:23: @4[4]: _6 = const "alt string 2" +39:9-39:23: @4[5]: _5 = &(*_6) +39:9-39:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +40:6-40:6: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..8f07ec5fcde --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#1} - 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 74"><span class="line"> <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="code even" style="--layer: 1" title="77:29-77:30: @0[1]: _2 = const 0_i32 +77:13-77:26: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="78:12-78:20: @0[5]: _4 = (*((*_1).0: &bool)) +78:12-78:20: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="79:13-79:27: @3[0]: _2 = const 10_i32 +78:21-80:10: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="79:13-79:27: @3[0]: _2 = const 10_i32 +78:21-80:10: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="79:13-79:27: @3[0]: _2 = const 10_i32 +78:21-80:10: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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="81:9-81:23: @4[4]: _6 = const "alt string 4" +81:9-81:23: @4[5]: _5 = &(*_6) +81:9-81:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +82:6-82:6: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 4".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="81:9-81:23: @4[4]: _6 = const "alt string 4" +81:9-81:23: @4[5]: _5 = &(*_6) +81:9-81:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +82:6-82:6: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..ca9031a1094 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#2} - 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 17"><span class="line"> <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="code even" style="--layer: 1" title="20:37-20:38: @0[1]: _2 = const 0_i32 +20:21-20:34: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="21:20-21:28: @0[5]: _4 = (*(_1.0: &bool)) +21:20-21:28: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="22:21-22:35: @3[0]: _2 = const 10_i32 +21:29-23:18: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="22:21-22:35: @3[0]: _2 = const 10_i32 +21:29-23:18: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="22:21-22:35: @3[0]: _2 = const 10_i32 +21:29-23:18: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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="24:17-24:31: @4[4]: _6 = const "alt string 1" +24:17-24:31: @4[5]: _5 = &(*_6) +24:17-24:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +25:14-25:14: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 1".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="24:17-24:31: @4[4]: _6 = const "alt string 1" +24:17-24:31: @4[5]: _5 = &(*_6) +24:17-24:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +25:14-25:14: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..820f8d9c6cf --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#3} - 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 59"><span class="line"> <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="code even" style="--layer: 1" title="62:37-62:38: @0[1]: _2 = const 0_i32 +62:21-62:34: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="63:20-63:28: @0[5]: _4 = (*(_1.0: &bool)) +63:20-63:28: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="64:21-64:35: @3[0]: _2 = const 10_i32 +63:29-65:18: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="64:21-64:35: @3[0]: _2 = const 10_i32 +63:29-65:18: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="64:21-64:35: @3[0]: _2 = const 10_i32 +63:29-65:18: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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="66:17-66:31: @4[4]: _6 = const "alt string 3" +66:17-66:31: @4[5]: _5 = &(*_6) +66:17-66:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +67:14-67:14: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 3".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="66:17-66:31: @4[4]: _6 = const "alt string 3" +66:17-66:31: @4[5]: _5 = &(*_6) +66:17-66:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +67:14-67:14: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..f70576ca24e --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,4505 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.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="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> // Initialize test constants in a way that cannot be determined at compile time, to ensure</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> // dependent conditions.</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> let 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: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> let is_false = ! is_true;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> let mut some_string = Some(String::from("the string content"));</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 1".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> some_string = Some(String::from("the string content"));</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> let</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 2".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span>;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string = None;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 3".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> some_string = None;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> let</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 4".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span>;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..494e6f20ea7 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html> +<head> +<title>drop_trait.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 13"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),u8> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="15:24-15:48: @0[1]: _1 = Firework { strength: const 1_i32 } +15:9-15:21: @0[2]: FakeRead(ForLet, _1) +17:16-17:42: @0[4]: _2 = Firework { strength: const 100_i32 } +17:9-17:13: @0[5]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>_firecracker = Firework { strength: 1 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:24-15:48: @0[1]: _1 = Firework { strength: const 1_i32 } +15:9-15:21: @0[2]: FakeRead(ForLet, _1) +17:16-17:42: @0[4]: _2 = Firework { strength: const 100_i32 } +17:9-17:13: @0[5]: FakeRead(ForLet, _2)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:24-15:48: @0[1]: _1 = Firework { strength: const 1_i32 } +15:9-15:21: @0[2]: FakeRead(ForLet, _1) +17:16-17:42: @0[4]: _2 = Firework { strength: const 100_i32 } +17:9-17:13: @0[5]: FakeRead(ForLet, _2)"> let _tnt = Firework { strength: 100 }<span class="annotation">⦉@0</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"> if </span><span><span class="code even" style="--layer: 1" title="19:8-19:12: @0[8]: _4 = const true +19:8-19:12: @0[9]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>true<span class="annotation">⦉@0</span></span></span><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="20:18-20:41: @3[6]: _21 = const main::promoted[1] +20:18-20:41: @3[7]: _11 = &(*_21) +20:18-20:41: @3[8]: _10 = &(*_11) +20:18-20:41: @3[9]: _9 = move _10 as &[&str] (Pointer(Unsize)) +20:9-20:43: @3[15]: _17 = () +20:9-20:43: @3[16]: FakeRead(ForMatchedPlace, _17) +20:9-20:43: @3[17]: _20 = const main::promoted[0] +20:9-20:43: @3[18]: _15 = &(*_20) +20:9-20:43: @3[19]: _14 = &(*_15) +20:9-20:43: @3[20]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb4, unwind: bb12] +20:9-20:43: @4.Call: _7 = _print(move _8) -> [return: bb5, unwind: bb12] +20:9-20:43: @5[5]: _6 = const () +21:16-21:22: @5[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"><span class="annotation">@1,3,4,5,9,10⦊</span>println!("Exiting with error...");</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="20:18-20:41: @3[6]: _21 = const main::promoted[1] +20:18-20:41: @3[7]: _11 = &(*_21) +20:18-20:41: @3[8]: _10 = &(*_11) +20:18-20:41: @3[9]: _9 = move _10 as &[&str] (Pointer(Unsize)) +20:9-20:43: @3[15]: _17 = () +20:9-20:43: @3[16]: FakeRead(ForMatchedPlace, _17) +20:9-20:43: @3[17]: _20 = const main::promoted[0] +20:9-20:43: @3[18]: _15 = &(*_20) +20:9-20:43: @3[19]: _14 = &(*_15) +20:9-20:43: @3[20]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb4, unwind: bb12] +20:9-20:43: @4.Call: _7 = _print(move _8) -> [return: bb5, unwind: bb12] +20:9-20:43: @5[5]: _6 = const () +21:16-21:22: @5[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"> return Err(1)<span class="annotation">⦉@1,3,4,5,9,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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> let _ = </span><span><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 } +26:8-26:10: @6[2]: _19 = () +26:5-26:11: @6[3]: _0 = std::result::Result::<(), u8>::Ok(move _19)"><span class="annotation">@2,6,7,8⦊</span>Firework { strength: 1000 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 } +26:8-26:10: @6[2]: _19 = () +26:5-26:11: @6[3]: _0 = std::result::Result::<(), u8>::Ok(move _19)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 } +26:8-26:10: @6[2]: _19 = () +26:5-26:11: @6[3]: _0 = std::result::Result::<(), u8>::Ok(move _19)"> Ok(())<span class="annotation">⦉@2,6,7,8</span></span></span><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:2-27:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..9530d12fb49 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html @@ -0,0 +1,123 @@ +<!DOCTYPE html> +<html> +<head> +<title>drop_trait.{impl#0}-drop - 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 8"><span class="line"> <span class="code" style="--layer: 0">fn drop(&mut self) </span><span><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const <Firework as Drop>::drop::promoted[0] +10:18-10:36: @0[7]: _7 = &(*_19) +10:18-10:36: @0[8]: _6 = &(*_7) +10:18-10:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +10:38-10:51: @0[17]: _14 = &((*_1).0: i32) +10:9-10:53: @0[18]: _13 = (move _14,) +10:9-10:53: @0[20]: FakeRead(ForMatchedPlace, _13) +10:9-10:53: @0[22]: _15 = (_13.0: &i32) +10:9-10:53: @0[25]: _17 = &(*_15) +10:9-10:53: @0[27]: _18 = <i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +10:9-10:53: @0.Call: _16 = ArgumentV1::new::<i32>(move _17, move _18) -> [return: bb1, unwind: bb4] +10:9-10:53: @1[2]: _12 = [move _16] +10:9-10:53: @1[5]: _11 = &_12 +10:9-10:53: @1[6]: _10 = &(*_11) +10:9-10:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +10:9-10:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +10:9-10:53: @3[6]: _2 = const () +9:24-11:6: @3[8]: _0 = const () +11:6-11:6: @3.Return: return"><span class="annotation">@0,1,2,3⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const <Firework as Drop>::drop::promoted[0] +10:18-10:36: @0[7]: _7 = &(*_19) +10:18-10:36: @0[8]: _6 = &(*_7) +10:18-10:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +10:38-10:51: @0[17]: _14 = &((*_1).0: i32) +10:9-10:53: @0[18]: _13 = (move _14,) +10:9-10:53: @0[20]: FakeRead(ForMatchedPlace, _13) +10:9-10:53: @0[22]: _15 = (_13.0: &i32) +10:9-10:53: @0[25]: _17 = &(*_15) +10:9-10:53: @0[27]: _18 = <i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +10:9-10:53: @0.Call: _16 = ArgumentV1::new::<i32>(move _17, move _18) -> [return: bb1, unwind: bb4] +10:9-10:53: @1[2]: _12 = [move _16] +10:9-10:53: @1[5]: _11 = &_12 +10:9-10:53: @1[6]: _10 = &(*_11) +10:9-10:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +10:9-10:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +10:9-10:53: @3[6]: _2 = const () +9:24-11:6: @3[8]: _0 = const () +11:6-11:6: @3.Return: return"> println!("BOOM times {}!!!", self.strength);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const <Firework as Drop>::drop::promoted[0] +10:18-10:36: @0[7]: _7 = &(*_19) +10:18-10:36: @0[8]: _6 = &(*_7) +10:18-10:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +10:38-10:51: @0[17]: _14 = &((*_1).0: i32) +10:9-10:53: @0[18]: _13 = (move _14,) +10:9-10:53: @0[20]: FakeRead(ForMatchedPlace, _13) +10:9-10:53: @0[22]: _15 = (_13.0: &i32) +10:9-10:53: @0[25]: _17 = &(*_15) +10:9-10:53: @0[27]: _18 = <i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +10:9-10:53: @0.Call: _16 = ArgumentV1::new::<i32>(move _17, move _18) -> [return: bb1, unwind: bb4] +10:9-10:53: @1[2]: _12 = [move _16] +10:9-10:53: @1[5]: _11 = &_12 +10:9-10:53: @1[6]: _10 = &(*_11) +10:9-10:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +10:9-10:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +10:9-10:53: @3[6]: _2 = const () +9:24-11:6: @3[8]: _0 = const () +11:6-11:6: @3.Return: return"> }<span class="annotation">⦉@0,1,2,3</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..6dc893d28ff --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,167 @@ +<!DOCTYPE html> +<html> +<head> +<title>generics.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 21"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),u8> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"><span class="annotation">@0,1,2,3⦊</span>mut firecracker = Firework { strength: 1 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> firecracker.set_strength(2);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> let mut tnt = Firework { strength: 100.1 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> tnt.set_strength(200.1);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> tnt.set_strength(300.3)<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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="30:8-30:12: @3[4]: _10 = const true +30:8-30:12: @3[5]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@0,1,2,3⦊</span>true<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"> </span><span><span class="code odd" style="--layer: 1" title="31:18-31:41: @6[6]: _27 = const main::promoted[1] +31:18-31:41: @6[7]: _17 = &(*_27) +31:18-31:41: @6[8]: _16 = &(*_17) +31:18-31:41: @6[9]: _15 = move _16 as &[&str] (Pointer(Unsize)) +31:9-31:43: @6[15]: _23 = () +31:9-31:43: @6[16]: FakeRead(ForMatchedPlace, _23) +31:9-31:43: @6[17]: _26 = const main::promoted[0] +31:9-31:43: @6[18]: _21 = &(*_26) +31:9-31:43: @6[19]: _20 = &(*_21) +31:9-31:43: @6[20]: _19 = move _20 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -> [return: bb7, unwind: bb15] +31:9-31:43: @7.Call: _13 = _print(move _14) -> [return: bb8, unwind: bb15] +31:9-31:43: @8[5]: _12 = const () +32:16-32:22: @8[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"><span class="annotation">@4,6,7,8,12,13⦊</span>println!("Exiting with error...");</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:18-31:41: @6[6]: _27 = const main::promoted[1] +31:18-31:41: @6[7]: _17 = &(*_27) +31:18-31:41: @6[8]: _16 = &(*_17) +31:18-31:41: @6[9]: _15 = move _16 as &[&str] (Pointer(Unsize)) +31:9-31:43: @6[15]: _23 = () +31:9-31:43: @6[16]: FakeRead(ForMatchedPlace, _23) +31:9-31:43: @6[17]: _26 = const main::promoted[0] +31:9-31:43: @6[18]: _21 = &(*_26) +31:9-31:43: @6[19]: _20 = &(*_21) +31:9-31:43: @6[20]: _19 = move _20 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -> [return: bb7, unwind: bb15] +31:9-31:43: @7.Call: _13 = _print(move _14) -> [return: bb8, unwind: bb15] +31:9-31:43: @8[5]: _12 = const () +32:16-32:22: @8[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"> return Err(1)<span class="annotation">⦉@4,6,7,8,12,13</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="line"><span class="code" style="--layer: 0"> let _ = </span><span><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::<i32> { strength: const 1000_i32 } +37:8-37:10: @9[2]: _25 = () +37:5-37:11: @9[3]: _0 = std::result::Result::<(), u8>::Ok(move _25)"><span class="annotation">@5,9,10,11⦊</span>Firework { strength: 1000 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::<i32> { strength: const 1000_i32 } +37:8-37:10: @9[2]: _25 = () +37:5-37:11: @9[3]: _0 = std::result::Result::<(), u8>::Ok(move _25)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::<i32> { strength: const 1000_i32 } +37:8-37:10: @9[2]: _25 = () +37:5-37:11: @9[3]: _0 = std::result::Result::<(), u8>::Ok(move _25)"> Ok(())<span class="annotation">⦉@5,9,10,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="code odd" style="--layer: 1" title="38:2-38:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div> +</body> +</html> diff --git a/src/test/mir-opt/spanview_block.main.mir_map.0.html.mir b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#0}-set_strength.-------.InstrumentCoverage.0.html index f8ecf143767..e31e47b81d4 100644 --- a/src/test/mir-opt/spanview_block.main.mir_map.0.html.mir +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#0}-set_strength.-------.InstrumentCoverage.0.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <title>coverage_of_if_else - Code Regions</title> - <style> +<title>generics.{impl#0}-set_strength - Coverage Spans</title> +<style> .line { counter-increment: line; } @@ -56,11 +56,20 @@ /* requires hover over a span ONLY on its first line */ display: inline-block; } - </style> +</style> </head> <body> -<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="0: $DIR/spanview-block.rs:5:11: 5:13: - 5:11-5:13: Assign: _0 = const () - 5:13-5:13: Return: return"><span class="annotation">0⦊</span>{}<span class="annotation">⦉0</span></span></span></span></div> +<div class="code" style="counter-reset: line 9"><span class="line"> <span class="code" style="--layer: 0">fn set_strength(&mut self, new_strength: T) </span><span><span class="code even" style="--layer: 1" title="11:25-11:37: @0[1]: _3 = _2 +11:9-11:37: @0[2]: ((*_1).0: T) = move _3 +10:49-12:6: @0[4]: _0 = const () +12:6-12:6: @0.Return: return"><span class="annotation">@0⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="11:25-11:37: @0[1]: _3 = _2 +11:9-11:37: @0[2]: ((*_1).0: T) = move _3 +10:49-12:6: @0[4]: _0 = const () +12:6-12:6: @0.Return: return"> self.strength = new_strength;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="11:25-11:37: @0[1]: _3 = _2 +11:9-11:37: @0[2]: ((*_1).0: T) = move _3 +10:49-12:6: @0[4]: _0 = const () +12:6-12:6: @0.Return: return"> }<span class="annotation">⦉@0</span></span></span></span></div> </body> </html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..99a7df4a670 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html @@ -0,0 +1,123 @@ +<!DOCTYPE html> +<html> +<head> +<title>generics.{impl#1}-drop - 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 16"><span class="line"> <span class="code" style="--layer: 0">fn drop(&mut self) </span><span><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const <Firework<T> as Drop>::drop::promoted[0] +18:18-18:36: @0[7]: _7 = &(*_19) +18:18-18:36: @0[8]: _6 = &(*_7) +18:18-18:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +18:38-18:51: @0[17]: _14 = &((*_1).0: T) +18:9-18:53: @0[18]: _13 = (move _14,) +18:9-18:53: @0[20]: FakeRead(ForMatchedPlace, _13) +18:9-18:53: @0[22]: _15 = (_13.0: &T) +18:9-18:53: @0[25]: _17 = &(*_15) +18:9-18:53: @0[27]: _18 = <T as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +18:9-18:53: @0.Call: _16 = ArgumentV1::new::<T>(move _17, move _18) -> [return: bb1, unwind: bb4] +18:9-18:53: @1[2]: _12 = [move _16] +18:9-18:53: @1[5]: _11 = &_12 +18:9-18:53: @1[6]: _10 = &(*_11) +18:9-18:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +18:9-18:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +18:9-18:53: @3[6]: _2 = const () +17:24-19:6: @3[8]: _0 = const () +19:6-19:6: @3.Return: return"><span class="annotation">@0,1,2,3⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const <Firework<T> as Drop>::drop::promoted[0] +18:18-18:36: @0[7]: _7 = &(*_19) +18:18-18:36: @0[8]: _6 = &(*_7) +18:18-18:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +18:38-18:51: @0[17]: _14 = &((*_1).0: T) +18:9-18:53: @0[18]: _13 = (move _14,) +18:9-18:53: @0[20]: FakeRead(ForMatchedPlace, _13) +18:9-18:53: @0[22]: _15 = (_13.0: &T) +18:9-18:53: @0[25]: _17 = &(*_15) +18:9-18:53: @0[27]: _18 = <T as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +18:9-18:53: @0.Call: _16 = ArgumentV1::new::<T>(move _17, move _18) -> [return: bb1, unwind: bb4] +18:9-18:53: @1[2]: _12 = [move _16] +18:9-18:53: @1[5]: _11 = &_12 +18:9-18:53: @1[6]: _10 = &(*_11) +18:9-18:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +18:9-18:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +18:9-18:53: @3[6]: _2 = const () +17:24-19:6: @3[8]: _0 = const () +19:6-19:6: @3.Return: return"> println!("BOOM times {}!!!", self.strength);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const <Firework<T> as Drop>::drop::promoted[0] +18:18-18:36: @0[7]: _7 = &(*_19) +18:18-18:36: @0[8]: _6 = &(*_7) +18:18-18:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +18:38-18:51: @0[17]: _14 = &((*_1).0: T) +18:9-18:53: @0[18]: _13 = (move _14,) +18:9-18:53: @0[20]: FakeRead(ForMatchedPlace, _13) +18:9-18:53: @0[22]: _15 = (_13.0: &T) +18:9-18:53: @0[25]: _17 = &(*_15) +18:9-18:53: @0[27]: _18 = <T as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +18:9-18:53: @0.Call: _16 = ArgumentV1::new::<T>(move _17, move _18) -> [return: bb1, unwind: bb4] +18:9-18:53: @1[2]: _12 = [move _16] +18:9-18:53: @1[5]: _11 = &_12 +18:9-18:53: @1[6]: _10 = &(*_11) +18:9-18:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +18:9-18:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +18:9-18:53: @3[6]: _2 = const () +17:24-19:6: @3[8]: _0 = const () +19:6-19:6: @3.Return: return"> }<span class="annotation">⦉@0,1,2,3</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..0379d900e94 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,162 @@ +<!DOCTYPE html> +<html> +<head> +<title>if.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="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"><span class="annotation">@0,1,2,3⦊</span>is_true</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> std::env::args().len()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> ==</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> 1</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> let</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> mut</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> 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"> ;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="21:9-21:16: @3[5]: _6 = _1 +21:9-21:16: @3[6]: FakeRead(ForMatchedPlace, _6)"><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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = 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">}</span><span><span class="code even" style="--layer: 1" title="28:2-28:2: @7.Return: return"><span class="annotation">@7⦊</span>‸<span class="annotation">⦉@7</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..b51c5c84c0d --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,163 @@ +<!DOCTYPE html> +<html> +<head> +<title>if_else.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: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"><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: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"> let mut countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"> if</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"> is_true<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"> </span><span><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = 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"> else // Note coverage region difference without semicolon</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:9-22:16: @5[0]: _5 = const 100_i32 +20:9-22:16: @5[1]: _6 = const ()"><span class="annotation">@5⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="20:9-22:16: @5[0]: _5 = const 100_i32 +20:9-22:16: @5[1]: _6 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="20:9-22:16: @5[0]: _5 = const 100_i32 +20:9-22:16: @5[1]: _6 = const ()"> 100<span class="annotation">⦉@5</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="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="26:9-26:16: @7[3]: _8 = _1 +26:9-26:16: @7[4]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@7⦊</span>is_true<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="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"><span class="annotation">@8,10⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> 10</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> }<span class="annotation">⦉@8,10</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> else</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"><span class="annotation">@9⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> 100</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> }<span class="annotation">⦉@9</span></span></span><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="40:2-40:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..20c54d0e6b4 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.main-InTrait-default_trait_func - 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 32"><span class="line"> <span class="code" style="--layer: 0">fn default_trait_func(&mut self) </span><span><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"> in_func(IN_CONST);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"> self.trait_func(IN_CONST);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"> }<span class="annotation">⦉@0,1,2</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..49639cc6884 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html @@ -0,0 +1,107 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.main-in_func - 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 17"><span class="line"> <span class="code" style="--layer: 0">fn in_func(a: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="19:17-19:18: @0[1]: _2 = const 1_u32 +19:13-19:14: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>b = 1<span class="annotation">⦉@0</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="code odd" style="--layer: 1" title="20:13-20:14: @1[3]: FakeRead(ForLet, _3)"><span class="annotation">@1,2,3,4⦊</span>c<span class="annotation">⦉@1,2,3,4</span></span></span><span class="code" style="--layer: 0"> = </span><span><span class="code even" style="--layer: 1" title="20:17-20:18: @0[5]: _4 = _1 +20:21-20:22: @0[7]: _5 = _2 +20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)"><span class="annotation">@0⦊</span>a + b<span class="annotation">⦉@0</span></span></span><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="21:18-21:26: @1[9]: _23 = const in_func::promoted[0] +21:18-21:26: @1[10]: _11 = &(*_23) +21:18-21:26: @1[11]: _10 = &(*_11) +21:18-21:26: @1[12]: _9 = move _10 as &[&str] (Pointer(Unsize)) +21:28-21:29: @1[20]: _18 = &_3 +21:9-21:30: @1[21]: _17 = (move _18,) +21:9-21:30: @1[23]: FakeRead(ForMatchedPlace, _17) +21:9-21:30: @1[25]: _19 = (_17.0: &u32) +21:9-21:30: @1[28]: _21 = &(*_19) +21:9-21:30: @1[30]: _22 = <u32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r u32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +21:9-21:30: @1.Call: _20 = ArgumentV1::new::<u32>(move _21, move _22) -> [return: bb2, unwind: bb5] +21:9-21:30: @2[2]: _16 = [move _20] +21:9-21:30: @2[5]: _15 = &_16 +21:9-21:30: @2[6]: _14 = &(*_15) +21:9-21:30: @2[7]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb3, unwind: bb5] +21:9-21:30: @3.Call: _7 = _print(move _8) -> [return: bb4, unwind: bb5] +21:9-21:30: @4[6]: _0 = const () +22:6-22:6: @4.Return: return"><span class="annotation">@1,2,3,4⦊</span>println!("c = {}", c)</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="21:18-21:26: @1[9]: _23 = const in_func::promoted[0] +21:18-21:26: @1[10]: _11 = &(*_23) +21:18-21:26: @1[11]: _10 = &(*_11) +21:18-21:26: @1[12]: _9 = move _10 as &[&str] (Pointer(Unsize)) +21:28-21:29: @1[20]: _18 = &_3 +21:9-21:30: @1[21]: _17 = (move _18,) +21:9-21:30: @1[23]: FakeRead(ForMatchedPlace, _17) +21:9-21:30: @1[25]: _19 = (_17.0: &u32) +21:9-21:30: @1[28]: _21 = &(*_19) +21:9-21:30: @1[30]: _22 = <u32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r u32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +21:9-21:30: @1.Call: _20 = ArgumentV1::new::<u32>(move _21, move _22) -> [return: bb2, unwind: bb5] +21:9-21:30: @2[2]: _16 = [move _20] +21:9-21:30: @2[5]: _15 = &_16 +21:9-21:30: @2[6]: _14 = &(*_15) +21:9-21:30: @2[7]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb3, unwind: bb5] +21:9-21:30: @3.Call: _7 = _print(move _8) -> [return: bb4, unwind: bb5] +21:9-21:30: @4[6]: _0 = const () +22:6-22:6: @4.Return: return"> }<span class="annotation">⦉@1,2,3,4</span></span></span></span></div> +</body> +</html> diff --git a/src/test/mir-opt/spanview_terminator.main.mir_map.0.html.mir b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html index 984b021384b..a2cf86de278 100644 --- a/src/test/mir-opt/spanview_terminator.main.mir_map.0.html.mir +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <title>coverage_of_if_else - Code Regions</title> - <style> +<title>inner_items.main-{impl#0}-trait_func - Coverage Spans</title> +<style> .line { counter-increment: line; } @@ -56,10 +56,17 @@ /* requires hover over a span ONLY on its first line */ display: inline-block; } - </style> +</style> </head> <body> -<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() {}</span><span><span class="code even" style="--layer: 1" title="0:Return: $DIR/spanview-terminator.rs:5:13: 5:13: - 5:13-5:13: Return: return"><span class="annotation">0:Return⦊</span>‸<span class="annotation">⦉0:Return</span></span></span></span></div> +<div class="code" style="counter-reset: line 39"><span class="line"> <span class="code" style="--layer: 0">fn trait_func(&mut self, incr: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="41:37-41:41: @0[1]: _3 = _2 +41:13-41:41: @0[2]: _4 = CheckedAdd(((*_1).0: u32), _3)"><span class="annotation">@0⦊</span>self.in_struct_field += incr<span class="annotation">⦉@0</span></span></span><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="42:21-42:41: @1[4]: _6 = ((*_1).0: u32) +42:13-42:42: @1.Call: _5 = in_func(move _6) -> [return: bb2, unwind: bb3] +43:10-43:10: @2.Return: return"><span class="annotation">@1,2⦊</span>in_func(self.in_struct_field);</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="42:21-42:41: @1[4]: _6 = ((*_1).0: u32) +42:13-42:42: @1.Call: _5 = in_func(move _6) -> [return: bb2, unwind: bb3] +43:10-43:10: @2.Return: return"> }<span class="annotation">⦉@1,2</span></span></span></span></div> </body> </html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..56557b8ef95 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,171 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_u32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"><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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_u32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_u32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"> let mut countdown = 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[6]: _7 = _1 +10:8-10:15: @3[7]: FakeRead(ForMatchedPlace, _7)"><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:23: @6[0]: _5 = const 10_u32 +10:16-12:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:23: @6[0]: _5 = const 10_u32 +10:16-12:6: @6[1]: _6 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:23: @6[0]: _5 = const 10_u32 +10:16-12:6: @6[1]: _6 = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> mod in_mod {</span></span> +<span class="line"><span class="code" style="--layer: 0"> const IN_MOD_CONST: u32 = 1000;</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="line"><span class="code" style="--layer: 0"> fn in_func(a: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let b = 1;</span></span> +<span class="line"><span class="code" style="--layer: 0"> let c = a + b;</span></span> +<span class="line"><span class="code" style="--layer: 0"> println!("c = {}", c)</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="line"><span class="code" style="--layer: 0"> struct InStruct {</span></span> +<span class="line"><span class="code" style="--layer: 0"> in_struct_field: u32,</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="line"><span class="code" style="--layer: 0"> const IN_CONST: u32 = 1234;</span></span> +<span class="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> trait InTrait {</span></span> +<span class="line"><span class="code" style="--layer: 0"> fn trait_func(&mut self, incr: u32);</span></span> +<span class="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> fn default_trait_func(&mut self) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> in_func(IN_CONST);</span></span> +<span class="line"><span class="code" style="--layer: 0"> self.trait_func(IN_CONST);</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="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> impl InTrait for InStruct {</span></span> +<span class="line"><span class="code" style="--layer: 0"> fn trait_func(&mut self, incr: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> self.in_struct_field += incr;</span></span> +<span class="line"><span class="code" style="--layer: 0"> in_func(self.in_struct_field);</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="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> type InType = String;</span></span> +<span class="line"><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="48:8-48:15: @7[4]: _9 = _1 +48:8-48:15: @7[5]: FakeRead(ForMatchedPlace, _9)"><span class="annotation">@7⦊</span>is_true<span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="49:17-49:26: @10[2]: _11 = _5 +49:9-49:27: @10.Call: _10 = in_func(move _11) -> [return: bb11, unwind: bb15] +48:16-50:6: @11[2]: _8 = const ()"><span class="annotation">@8,10,11⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="49:17-49:26: @10[2]: _11 = _5 +49:9-49:27: @10.Call: _10 = in_func(move _11) -> [return: bb11, unwind: bb15] +48:16-50:6: @11[2]: _8 = const ()"> in_func(countdown);</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="49:17-49:26: @10[2]: _11 = _5 +49:9-49:27: @10.Call: _10 = in_func(move _11) -> [return: bb11, unwind: bb15] +48:16-50:6: @11[2]: _8 = const ()"> }<span class="annotation">⦉@8,10,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"> let </span><span><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"><span class="annotation">@12,13⦊</span>mut val = InStruct {</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"> in_struct_field: 101,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"> };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"> val.default_trait_func();</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return">}<span class="annotation">⦉@12,13</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..defe743df60 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,160 @@ +<!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> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..dc26c796637 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,118 @@ +<!DOCTYPE html> +<html> +<head> +<title>loop_break_value.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="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"><span class="annotation">@0,1⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> let result</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> loop</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> {</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> break</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> 10</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> }</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return">}<span class="annotation">⦉@0,1</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..4b21d3fc263 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,127 @@ +<!DOCTYPE html> +<html> +<head> +<title>simple_loop.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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"><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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"> let mut countdown = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="12:9-12:16: @3[6]: _7 = _1 +12:9-12:16: @3[7]: FakeRead(ForMatchedPlace, _7)"><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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> loop</span></span> +<span class="line"><span class="code" style="--layer: 0"> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="23:13-23:22: @9[3]: _11 = _5 +23:13-25:14: @9[4]: _10 = Eq(move _11, const 0_i32) +23:13-25:14: @9[6]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@8,9⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:13-23:22: @9[3]: _11 = _5 +23:13-25:14: @9[4]: _10 = Eq(move _11, const 0_i32) +23:13-25:14: @9[6]: FakeRead(ForMatchedPlace, _10)"> ==</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:13-23:22: @9[3]: _11 = _5 +23:13-25:14: @9[4]: _10 = Eq(move _11, const 0_i32) +23:13-25:14: @9[6]: FakeRead(ForMatchedPlace, _10)"> 0<span class="annotation">⦉@8,9</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:18: @12[0]: _0 = const ()"><span class="annotation">@10,12⦊</span>break<span class="annotation">⦉@10,12</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="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="30:9-32:10: @11[3]: _13 = CheckedSub(_5, const 1_i32)"><span class="annotation">@11⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @11[3]: _13 = CheckedSub(_5, const 1_i32)"> -=</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @11[3]: _13 = CheckedSub(_5, const 1_i32)"> 1<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="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="35:2-35:2: @12.Return: return"><span class="annotation">@10,12⦊</span>‸<span class="annotation">⦉@10,12</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..5ba770ef607 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,190 @@ +<!DOCTYPE html> +<html> +<head> +<title>simple_match.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: bb22] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb21] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 1_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"><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: bb22] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb21] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 1_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb22] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb21] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 1_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"> let mut countdown = 1<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[6]: _7 = _1 +10:8-10:15: @3[7]: FakeRead(ForMatchedPlace, _7)"><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:22: @6[0]: _5 = const 0_i32 +10:16-12:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:22: @6[0]: _5 = const 0_i32 +10:16-12:6: @6[1]: _6 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:22: @6[0]: _5 = const 0_i32 +10:16-12:6: @6[1]: _6 = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="15:9-15:10: @11[2]: _17 = discriminant(_14)"><span class="annotation">@9,10,11⦊</span>for</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:9-15:10: @11[2]: _17 = discriminant(_14)"> _<span class="annotation">⦉@9,10,11</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> in</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="17:9-17:13: @7[4]: _9 = std::ops::Range::<i32> { start: const 0_i32, end: const 2_i32 } +17:9-17:13: @7.Call: _8 = <std::ops::Range<i32> as IntoIterator>::into_iter(move _9) -> [return: bb8, unwind: bb22] +17:9-17:13: @8[1]: FakeRead(ForMatchedPlace, _8) +17:9-17:13: @8[3]: _10 = move _8"><span class="annotation">@7,8⦊</span>0..2<span class="annotation">⦉@7,8</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 z</span></span> +<span class="line"><span class="code" style="--layer: 0"> ;</span></span> +<span class="line"><span class="code" style="--layer: 0"> match</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"><span class="annotation">@13,15,17⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> {</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> x</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> if</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> x</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> <</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> 1<span class="annotation">⦉@13,15,17</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="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"><span class="annotation">@18⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> z = countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> let y = countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> countdown = 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> }<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"> =></span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="40:13-40:15: @16[0]: _21 = const ()"><span class="annotation">@16⦊</span>{}<span class="annotation">⦉@16</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="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="43:2-43:2: @12.Return: return"><span class="annotation">@12⦊</span>‸<span class="annotation">⦉@12</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..9f993342340 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html @@ -0,0 +1,73 @@ +<!DOCTYPE html> +<html> +<head> +<title>try_error_result.call - 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 3"><span class="line"><span class="code" style="--layer: 0">fn call(return_error: bool) -> Result<(),()> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="5:8-5:20: @0[1]: _2 = _1 +5:8-5:20: @0[2]: FakeRead(ForMatchedPlace, _2)"><span class="annotation">@0⦊</span>return_error<span class="annotation">⦉@0</span></span></span><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="6:13-6:15: @3[1]: _3 = () +6:9-6:16: @3[2]: _0 = std::result::Result::<(), ()>::Err(move _3)"><span class="annotation">@1,3⦊</span>Err(())<span class="annotation">⦉@1,3</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="8:12-8:14: @2[1]: _4 = () +8:9-8:15: @2[2]: _0 = std::result::Result::<(), ()>::Ok(move _4)"><span class="annotation">@2⦊</span>Ok(())<span class="annotation">⦉@2</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="10:2-10:2: @4.Return: return"><span class="annotation">@4⦊</span>‸<span class="annotation">⦉@4</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..660c3031f35 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<html> +<head> +<title>try_error_result.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 11"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),()> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="14:21-14:23: @0[1]: _1 = const 10_i32 +13:9-14:18: @0[2]: FakeRead(ForLet, _1)"><span class="annotation">@0,1⦊</span>mut</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="14:21-14:23: @0[1]: _1 = const 10_i32 +13:9-14:18: @0[2]: FakeRead(ForLet, _1)"> countdown = 10<span class="annotation">⦉@0,1</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="17:9-17:10: @4[2]: _12 = discriminant(_9)"><span class="annotation">@2,3,4⦊</span>for</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="17:9-17:10: @4[2]: _12 = discriminant(_9)"> _<span class="annotation">⦉@2,3,4</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> in</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="19:9-19:14: @0[6]: _4 = std::ops::Range::<i32> { start: const 0_i32, end: const 10_i32 } +19:9-19:14: @0.Call: _3 = <std::ops::Range<i32> as IntoIterator>::into_iter(move _4) -> [return: bb1, unwind: bb32] +19:9-19:14: @1[1]: FakeRead(ForMatchedPlace, _3) +19:9-19:14: @1[3]: _5 = move _3"><span class="annotation">@0,1⦊</span>0..10<span class="annotation">⦉@0,1</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="21:9-22:17: @8[12]: _17 = CheckedSub(_1, const 1_i32)"><span class="annotation">@6,8⦊</span>countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="21:9-22:17: @8[12]: _17 = CheckedSub(_1, const 1_i32)"> -= 1<span class="annotation">⦉@6,8</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"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="25:13-25:22: @9[3]: _19 = _1 +25:13-25:26: @9[4]: _18 = Lt(move _19, const 5_i32) +25:13-25:26: @9[6]: FakeRead(ForMatchedPlace, _18)"><span class="annotation">@9⦊</span>countdown < 5<span class="annotation">⦉@9</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:41: @12.Call: _22 = call(const true) -> [return: bb13, unwind: bb32] +27:13-27:42: @13.Call: _21 = <std::result::Result<(), ()> as Try>::into_result(move _22) -> [return: bb14, unwind: bb32] +27:13-27:42: @14[1]: FakeRead(ForMatchedPlace, _21) +27:41-27:42: @14[2]: _23 = discriminant(_21)"><span class="annotation">@10,12,13,14⦊</span>call(/*return_error=*/ true)?<span class="annotation">⦉@10,12,13,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"> else</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="31:13-31:42: @11.Call: _31 = call(const false) -> [return: bb21, unwind: bb32] +31:13-31:43: @21.Call: _30 = <std::result::Result<(), ()> as Try>::into_result(move _31) -> [return: bb22, unwind: bb32] +31:13-31:43: @22[1]: FakeRead(ForMatchedPlace, _30) +31:42-31:43: @22[2]: _32 = discriminant(_30)"><span class="annotation">@11,21,22⦊</span>call(/*return_error=*/ false)?<span class="annotation">⦉@11,21,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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="34:8-34:10: @5[9]: _38 = () +34:5-34:11: @5[10]: _0 = std::result::Result::<(), ()>::Ok(move _38)"><span class="annotation">@5⦊</span>Ok(())<span class="annotation">⦉@5</span></span></span><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="35:2-35:2: @31.Return: return"><span class="annotation">@31⦊</span>‸<span class="annotation">⦉@31</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..28f1d013c83 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,228 @@ +<!DOCTYPE html> +<html> +<head> +<title>various_conditions.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"> let </span><span><span class="code even" style="--layer: 1" title="4:25-4:26: @0[1]: _1 = const 0_u32 +4:9-4:22: @0[2]: FakeRead(ForLet, _1)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="5:8-5:12: @0[5]: _3 = const true +5:8-5:12: @0[6]: FakeRead(ForMatchedPlace, _3)"><span class="annotation">@0⦊</span>true<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="6:9-6:23: @3[0]: _1 = const 10_u32 +5:13-7:6: @3[1]: _2 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="6:9-6:23: @3[0]: _1 = const 10_u32 +5:13-7:6: @3[1]: _2 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="6:9-6:23: @3[0]: _1 = const 10_u32 +5:13-7:6: @3[1]: _2 = const ()"> }<span class="annotation">⦉@1,3</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"> const B: u32 = 100;</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="10:9-10:10: @25[0]: FakeRead(ForLet, _4)"><span class="annotation">@25⦊</span>x<span class="annotation">⦉@25</span></span></span><span class="code" style="--layer: 0"> = if </span><span><span class="code odd" style="--layer: 1" title="10:16-10:25: @4[5]: _6 = _1 +10:16-10:29: @4[6]: _5 = Gt(move _6, const 7_u32) +10:16-10:29: @4[8]: FakeRead(ForMatchedPlace, _5)"><span class="annotation">@4⦊</span>countdown > 7<span class="annotation">⦉@4</span></span></span><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="11:9-11:23: @7[0]: _7 = CheckedSub(_1, const 4_u32)"><span class="annotation">@5,7⦊</span>countdown -= 4<span class="annotation">⦉@5,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="code odd" style="--layer: 1" title="12:9-12:10: @8[1]: _4 = const B"><span class="annotation">@8⦊</span>B<span class="annotation">⦉@8</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="13:15-13:24: @6[2]: _9 = _1 +13:15-13:28: @6[3]: _8 = Gt(move _9, const 2_u32) +13:15-13:28: @6[5]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@6⦊</span>countdown > 2<span class="annotation">⦉@6</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 odd" style="--layer: 1" title="14:12-14:21: @11[5]: _14 = _1 +14:12-14:25: @11[6]: _13 = Lt(move _14, const 1_u32)"><span class="annotation">@9,11⦊</span>countdown < 1<span class="annotation">⦉@9,11</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="14:29-14:38: @18[2]: _16 = _1 +14:29-14:42: @18[3]: _15 = Gt(move _16, const 5_u32)"><span class="annotation">@18⦊</span>countdown > 5<span class="annotation">⦉@18</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="14:46-14:55: @14[2]: _18 = _1 +14:46-14:60: @14[3]: _17 = Ne(move _18, const 9_u32)"><span class="annotation">@14⦊</span>countdown != 9<span class="annotation">⦉@14</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="15:13-15:26: @22[0]: _1 = const 0_u32 +14:61-16:10: @22[1]: _10 = const ()"><span class="annotation">@20,22⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:13-15:26: @22[0]: _1 = const 0_u32 +14:61-16:10: @22[1]: _10 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:13-15:26: @22[0]: _1 = const 0_u32 +14:61-16:10: @22[1]: _10 = const ()"> }<span class="annotation">⦉@20,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="code odd" style="--layer: 1" title="17:9-17:23: @23[2]: _19 = CheckedSub(_1, const 5_u32)"><span class="annotation">@23⦊</span>countdown -= 5<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="code even" style="--layer: 1" title="18:9-18:18: @24[1]: _4 = _1"><span class="annotation">@24⦊</span>countdown<span class="annotation">⦉@24</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="20:9-20:15: @10[0]: _0 = const ()"><span class="annotation">@10⦊</span>return<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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="23:25-23:26: @25[3]: _21 = const 0_i32 +23:9-23:22: @25[4]: FakeRead(ForLet, _21)"><span class="annotation">@25⦊</span>mut countdown = 0<span class="annotation">⦉@25</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="24:8-24:12: @25[7]: _23 = const true +24:8-24:12: @25[8]: FakeRead(ForMatchedPlace, _23)"><span class="annotation">@25⦊</span>true<span class="annotation">⦉@25</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="25:9-25:23: @28[0]: _21 = const 10_i32 +24:13-26:6: @28[1]: _22 = const ()"><span class="annotation">@26,28⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="25:9-25:23: @28[0]: _21 = const 10_i32 +24:13-26:6: @28[1]: _22 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="25:9-25:23: @28[0]: _21 = const 10_i32 +24:13-26:6: @28[1]: _22 = const ()"> }<span class="annotation">⦉@26,28</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"> if </span><span><span class="code even" style="--layer: 1" title="28:8-28:17: @29[5]: _26 = _21 +28:8-28:21: @29[6]: _25 = Gt(move _26, const 7_i32) +28:8-28:21: @29[8]: FakeRead(ForMatchedPlace, _25)"><span class="annotation">@29⦊</span>countdown > 7<span class="annotation">⦉@29</span></span></span><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="29:9-29:23: @32[0]: _27 = CheckedSub(_21, const 4_i32)"><span class="annotation">@30,32⦊</span>countdown -= 4<span class="annotation">⦉@30,32</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="30:15-30:24: @31[2]: _29 = _21 +30:15-30:28: @31[3]: _28 = Gt(move _29, const 2_i32) +30:15-30:28: @31[5]: FakeRead(ForMatchedPlace, _28)"><span class="annotation">@31⦊</span>countdown > 2<span class="annotation">⦉@31</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 odd" style="--layer: 1" title="31:12-31:21: @36[5]: _34 = _21 +31:12-31:25: @36[6]: _33 = Lt(move _34, const 1_i32)"><span class="annotation">@34,36⦊</span>countdown < 1<span class="annotation">⦉@34,36</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="31:29-31:38: @43[2]: _36 = _21 +31:29-31:42: @43[3]: _35 = Gt(move _36, const 5_i32)"><span class="annotation">@43⦊</span>countdown > 5<span class="annotation">⦉@43</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="31:46-31:55: @39[2]: _38 = _21 +31:46-31:60: @39[3]: _37 = Ne(move _38, const 9_i32)"><span class="annotation">@39⦊</span>countdown != 9<span class="annotation">⦉@39</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="32:13-32:26: @47[0]: _21 = const 0_i32 +31:61-33:10: @47[1]: _30 = const ()"><span class="annotation">@45,47⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="32:13-32:26: @47[0]: _21 = const 0_i32 +31:61-33:10: @47[1]: _30 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="32:13-32:26: @47[0]: _21 = const 0_i32 +31:61-33:10: @47[1]: _30 = const ()"> }<span class="annotation">⦉@45,47</span></span></span><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="34:9-34:23: @48[2]: _39 = CheckedSub(_21, const 5_i32)"><span class="annotation">@48⦊</span>countdown -= 5<span class="annotation">⦉@48</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="36:9-36:15: @35[0]: _0 = const ()"><span class="annotation">@35⦊</span>return<span class="annotation">⦉@35</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="line"><span class="code" style="--layer: 0"> let </span><span><span class="code odd" style="--layer: 1" title="39:25-39:26: @50[3]: _41 = const 0_i32 +39:9-39:22: @50[4]: FakeRead(ForLet, _41)"><span class="annotation">@50⦊</span>mut countdown = 0<span class="annotation">⦉@50</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 odd" style="--layer: 1" title="40:8-40:12: @50[7]: _43 = const true +40:8-40:12: @50[8]: FakeRead(ForMatchedPlace, _43)"><span class="annotation">@50⦊</span>true<span class="annotation">⦉@50</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="41:9-41:22: @53[0]: _41 = const 1_i32 +40:13-42:6: @53[1]: _42 = const ()"><span class="annotation">@51,53⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="41:9-41:22: @53[0]: _41 = const 1_i32 +40:13-42:6: @53[1]: _42 = const ()"> countdown = 1;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="41:9-41:22: @53[0]: _41 = const 1_i32 +40:13-42:6: @53[1]: _42 = const ()"> }<span class="annotation">⦉@51,53</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="code odd" style="--layer: 1" title="44:9-44:10: @77[0]: FakeRead(ForLet, _44)"><span class="annotation">@77⦊</span>z<span class="annotation">⦉@77</span></span></span><span class="code" style="--layer: 0"> = if </span><span><span class="code even" style="--layer: 1" title="44:16-44:25: @54[5]: _46 = _41 +44:16-44:29: @54[6]: _45 = Gt(move _46, const 7_i32) +44:16-44:29: @54[8]: FakeRead(ForMatchedPlace, _45)"><span class="annotation">@54⦊</span>countdown > 7<span class="annotation">⦉@54</span></span></span><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="45:9-45:23: @57[0]: _47 = CheckedSub(_41, const 4_i32)"><span class="annotation">@55,57⦊</span>countdown -= 4<span class="annotation">⦉@55,57</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="46:15-46:24: @56[2]: _49 = _41 +46:15-46:28: @56[3]: _48 = Gt(move _49, const 2_i32) +46:15-46:28: @56[5]: FakeRead(ForMatchedPlace, _48)"><span class="annotation">@56⦊</span>countdown > 2<span class="annotation">⦉@56</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 odd" style="--layer: 1" title="47:12-47:21: @61[5]: _54 = _41 +47:12-47:25: @61[6]: _53 = Lt(move _54, const 1_i32)"><span class="annotation">@59,61⦊</span>countdown < 1<span class="annotation">⦉@59,61</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="47:29-47:38: @68[2]: _56 = _41 +47:29-47:42: @68[3]: _55 = Gt(move _56, const 5_i32)"><span class="annotation">@68⦊</span>countdown > 5<span class="annotation">⦉@68</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="47:46-47:55: @64[2]: _58 = _41 +47:46-47:60: @64[3]: _57 = Ne(move _58, const 9_i32)"><span class="annotation">@64⦊</span>countdown != 9<span class="annotation">⦉@64</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="48:13-48:26: @72[0]: _41 = const 0_i32 +47:61-49:10: @72[1]: _50 = const ()"><span class="annotation">@70,72⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="48:13-48:26: @72[0]: _41 = const 0_i32 +47:61-49:10: @72[1]: _50 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="48:13-48:26: @72[0]: _41 = const 0_i32 +47:61-49:10: @72[1]: _50 = const ()"> }<span class="annotation">⦉@70,72</span></span></span><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="50:9-50:23: @73[2]: _59 = CheckedSub(_41, const 5_i32)"><span class="annotation">@73⦊</span>countdown -= 5<span class="annotation">⦉@73</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="52:35-52:44: @60[1]: _61 = _41 +52:13-52:32: @60[2]: FakeRead(ForLet, _61) +53:18-53:27: @60[9]: _92 = const main::promoted[1] +53:18-53:27: @60[10]: _67 = &(*_92) +53:18-53:27: @60[11]: _66 = &(*_67) +53:18-53:27: @60[12]: _65 = move _66 as &[&str] (Pointer(Unsize)) +53:9-53:29: @60[18]: _73 = () +53:9-53:29: @60[19]: FakeRead(ForMatchedPlace, _73) +53:9-53:29: @60[20]: _91 = const main::promoted[0] +53:9-53:29: @60[21]: _71 = &(*_91) +53:9-53:29: @60[22]: _70 = &(*_71) +53:9-53:29: @60[23]: _69 = move _70 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -> [return: bb75, unwind: bb103] +53:9-53:29: @75.Call: _63 = _print(move _64) -> [return: bb76, unwind: bb103] +53:9-53:29: @76[5]: _62 = const () +54:9-54:15: @76[7]: _0 = const ()"><span class="annotation">@60,75,76⦊</span>should_be_reachable = countdown;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:35-52:44: @60[1]: _61 = _41 +52:13-52:32: @60[2]: FakeRead(ForLet, _61) +53:18-53:27: @60[9]: _92 = const main::promoted[1] +53:18-53:27: @60[10]: _67 = &(*_92) +53:18-53:27: @60[11]: _66 = &(*_67) +53:18-53:27: @60[12]: _65 = move _66 as &[&str] (Pointer(Unsize)) +53:9-53:29: @60[18]: _73 = () +53:9-53:29: @60[19]: FakeRead(ForMatchedPlace, _73) +53:9-53:29: @60[20]: _91 = const main::promoted[0] +53:9-53:29: @60[21]: _71 = &(*_91) +53:9-53:29: @60[22]: _70 = &(*_71) +53:9-53:29: @60[23]: _69 = move _70 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -> [return: bb75, unwind: bb103] +53:9-53:29: @75.Call: _63 = _print(move _64) -> [return: bb76, unwind: bb103] +53:9-53:29: @76[5]: _62 = const () +54:9-54:15: @76[7]: _0 = const ()"> println!("reached");</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:35-52:44: @60[1]: _61 = _41 +52:13-52:32: @60[2]: FakeRead(ForLet, _61) +53:18-53:27: @60[9]: _92 = const main::promoted[1] +53:18-53:27: @60[10]: _67 = &(*_92) +53:18-53:27: @60[11]: _66 = &(*_67) +53:18-53:27: @60[12]: _65 = move _66 as &[&str] (Pointer(Unsize)) +53:9-53:29: @60[18]: _73 = () +53:9-53:29: @60[19]: FakeRead(ForMatchedPlace, _73) +53:9-53:29: @60[20]: _91 = const main::promoted[0] +53:9-53:29: @60[21]: _71 = &(*_91) +53:9-53:29: @60[22]: _70 = &(*_71) +53:9-53:29: @60[23]: _69 = move _70 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -> [return: bb75, unwind: bb103] +53:9-53:29: @75.Call: _63 = _print(move _64) -> [return: bb76, unwind: bb103] +53:9-53:29: @76[5]: _62 = const () +54:9-54:15: @76[7]: _0 = const ()"> return<span class="annotation">⦉@60,75,76</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="line"><span class="code" style="--layer: 0"> let </span><span><span class="code odd" style="--layer: 1" title="57:9-57:10: @98[0]: FakeRead(ForLet, _74)"><span class="annotation">@98⦊</span>w<span class="annotation">⦉@98</span></span></span><span class="code" style="--layer: 0"> = if </span><span><span class="code even" style="--layer: 1" title="57:16-57:25: @77[5]: _76 = _41 +57:16-57:29: @77[6]: _75 = Gt(move _76, const 7_i32) +57:16-57:29: @77[8]: FakeRead(ForMatchedPlace, _75)"><span class="annotation">@77⦊</span>countdown > 7<span class="annotation">⦉@77</span></span></span><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="58:9-58:23: @80[0]: _77 = CheckedSub(_41, const 4_i32)"><span class="annotation">@78,80⦊</span>countdown -= 4<span class="annotation">⦉@78,80</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="59:15-59:24: @79[2]: _79 = _41 +59:15-59:28: @79[3]: _78 = Gt(move _79, const 2_i32) +59:15-59:28: @79[5]: FakeRead(ForMatchedPlace, _78)"><span class="annotation">@79⦊</span>countdown > 2<span class="annotation">⦉@79</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 odd" style="--layer: 1" title="60:12-60:21: @84[5]: _84 = _41 +60:12-60:25: @84[6]: _83 = Lt(move _84, const 1_i32)"><span class="annotation">@82,84⦊</span>countdown < 1<span class="annotation">⦉@82,84</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="60:29-60:38: @91[2]: _86 = _41 +60:29-60:42: @91[3]: _85 = Gt(move _86, const 5_i32)"><span class="annotation">@91⦊</span>countdown > 5<span class="annotation">⦉@91</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="60:46-60:55: @87[2]: _88 = _41 +60:46-60:60: @87[3]: _87 = Ne(move _88, const 9_i32)"><span class="annotation">@87⦊</span>countdown != 9<span class="annotation">⦉@87</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="61:13-61:26: @95[0]: _41 = const 0_i32 +60:61-62:10: @95[1]: _80 = const ()"><span class="annotation">@93,95⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="61:13-61:26: @95[0]: _41 = const 0_i32 +60:61-62:10: @95[1]: _80 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="61:13-61:26: @95[0]: _41 = const 0_i32 +60:61-62:10: @95[1]: _80 = const ()"> }<span class="annotation">⦉@93,95</span></span></span><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="63:9-63:23: @96[2]: _89 = CheckedSub(_41, const 5_i32)"><span class="annotation">@96⦊</span>countdown -= 5<span class="annotation">⦉@96</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="65:9-65:15: @83[0]: _0 = const ()"><span class="annotation">@83⦊</span>return<span class="annotation">⦉@83</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="67:2-67:2: @102.Return: return"><span class="annotation">@102⦊</span>‸<span class="annotation">⦉@102</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..b96789a9219 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html> +<head> +<title>while_early_return.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 3"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),u8> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="5:25-5:27: @0[1]: _1 = const 10_i32 +5:9-5:22: @0[2]: FakeRead(ForLet, _1)"><span class="annotation">@0⦊</span>mut countdown = 10<span class="annotation">⦉@0</span></span></span><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="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@1,2⦊</span>while</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"> ></span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"> 0<span class="annotation">⦉@1,2</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"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="12:13-12:22: @5[3]: _8 = _1 +12:13-14:14: @5[4]: _7 = Lt(move _8, const 5_i32) +12:13-14:14: @5[6]: FakeRead(ForMatchedPlace, _7)"><span class="annotation">@3,5⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="12:13-12:22: @5[3]: _8 = _1 +12:13-14:14: @5[4]: _7 = Lt(move _8, const 5_i32) +12:13-14:14: @5[6]: FakeRead(ForMatchedPlace, _7)"> <</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="12:13-12:22: @5[3]: _8 = _1 +12:13-14:14: @5[4]: _7 = Lt(move _8, const 5_i32) +12:13-14:14: @5[6]: FakeRead(ForMatchedPlace, _7)"> 5<span class="annotation">⦉@3,5</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"> return</span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="18:21-18:30: @8[2]: _11 = _1 +18:21-20:22: @8[3]: _10 = Gt(move _11, const 8_i32) +18:21-20:22: @8[5]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@6,8⦊</span>countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="18:21-18:30: @8[2]: _11 = _1 +18:21-20:22: @8[3]: _10 = Gt(move _11, const 8_i32) +18:21-20:22: @8[5]: FakeRead(ForMatchedPlace, _10)"> ></span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="18:21-18:30: @8[2]: _11 = _1 +18:21-20:22: @8[3]: _10 = Gt(move _11, const 8_i32) +18:21-20:22: @8[5]: FakeRead(ForMatchedPlace, _10)"> 8<span class="annotation">⦉@6,8</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="22:24-22:26: @11[1]: _12 = () +22:21-22:27: @11[2]: _0 = std::result::Result::<(), u8>::Ok(move _12)"><span class="annotation">@9,11⦊</span>Ok(())<span class="annotation">⦉@9,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"> else</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="26:21-26:27: @10[0]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"><span class="annotation">@10⦊</span>Err(1)<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"> ;</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="30:9-32:10: @7[3]: _13 = CheckedSub(_1, const 1_i32)"><span class="annotation">@7⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @7[3]: _13 = CheckedSub(_1, const 1_i32)"> -=</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @7[3]: _13 = CheckedSub(_1, const 1_i32)"> 1<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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="35:8-35:10: @4[4]: _15 = () +35:5-35:11: @4[5]: _0 = std::result::Result::<(), u8>::Ok(move _15)"><span class="annotation">@4⦊</span>Ok(())<span class="annotation">⦉@4</span></span></span><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="36:2-36:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-link-dead-code/Makefile b/src/test/run-make-fulldeps/coverage-spanview-deadcode/Makefile index 0578949b3c8..826e85b35e5 100644 --- a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-link-dead-code/Makefile +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/Makefile @@ -4,8 +4,8 @@ # LINK_DEAD_CODE requires ignore-msvc due to Issue #76038 LINK_DEAD_CODE=yes --include ../instrument-coverage-mir-cov-html-base/Makefile +-include ../coverage-spanview-base/Makefile # ISSUE(76038): When targeting MSVC, Rust binaries built with both `-Z instrument-coverage` and # `-C link-dead-code` typically crash (with a seg-fault) or at best generate an empty `*.profraw`. -# See ../instrument-coverage/coverage_tools.mk for more information. \ No newline at end of file +# See ../coverage/coverage_tools.mk for more information. diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..43f75c574d0 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#0} - 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 32"><span class="line"> <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="code even" style="--layer: 1" title="35:29-35:30: @0[1]: _2 = const 0_i32 +35:13-35:26: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="36:12-36:20: @0[5]: _4 = (*((*_1).0: &bool)) +36:12-36:20: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="37:13-37:27: @3[0]: _2 = const 10_i32 +36:21-38:10: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="37:13-37:27: @3[0]: _2 = const 10_i32 +36:21-38:10: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="37:13-37:27: @3[0]: _2 = const 10_i32 +36:21-38:10: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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:9-39:23: @4[4]: _6 = const "alt string 2" +39:9-39:23: @4[5]: _5 = &(*_6) +39:9-39:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +40:6-40:6: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 2".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="39:9-39:23: @4[4]: _6 = const "alt string 2" +39:9-39:23: @4[5]: _5 = &(*_6) +39:9-39:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +40:6-40:6: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..8f07ec5fcde --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#1} - 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 74"><span class="line"> <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="code even" style="--layer: 1" title="77:29-77:30: @0[1]: _2 = const 0_i32 +77:13-77:26: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="78:12-78:20: @0[5]: _4 = (*((*_1).0: &bool)) +78:12-78:20: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="79:13-79:27: @3[0]: _2 = const 10_i32 +78:21-80:10: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="79:13-79:27: @3[0]: _2 = const 10_i32 +78:21-80:10: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="79:13-79:27: @3[0]: _2 = const 10_i32 +78:21-80:10: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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="81:9-81:23: @4[4]: _6 = const "alt string 4" +81:9-81:23: @4[5]: _5 = &(*_6) +81:9-81:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +82:6-82:6: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 4".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="81:9-81:23: @4[4]: _6 = const "alt string 4" +81:9-81:23: @4[5]: _5 = &(*_6) +81:9-81:34: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +82:6-82:6: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..ca9031a1094 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#2} - 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 17"><span class="line"> <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="code even" style="--layer: 1" title="20:37-20:38: @0[1]: _2 = const 0_i32 +20:21-20:34: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="21:20-21:28: @0[5]: _4 = (*(_1.0: &bool)) +21:20-21:28: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="22:21-22:35: @3[0]: _2 = const 10_i32 +21:29-23:18: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="22:21-22:35: @3[0]: _2 = const 10_i32 +21:29-23:18: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="22:21-22:35: @3[0]: _2 = const 10_i32 +21:29-23:18: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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="24:17-24:31: @4[4]: _6 = const "alt string 1" +24:17-24:31: @4[5]: _5 = &(*_6) +24:17-24:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +25:14-25:14: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 1".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="24:17-24:31: @4[4]: _6 = const "alt string 1" +24:17-24:31: @4[5]: _5 = &(*_6) +24:17-24:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +25:14-25:14: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..820f8d9c6cf --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.main-{closure#3} - 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 59"><span class="line"> <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="code even" style="--layer: 1" title="62:37-62:38: @0[1]: _2 = const 0_i32 +62:21-62:34: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="63:20-63:28: @0[5]: _4 = (*(_1.0: &bool)) +63:20-63:28: @0[6]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>is_false<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="64:21-64:35: @3[0]: _2 = const 10_i32 +63:29-65:18: @3[1]: _3 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="64:21-64:35: @3[0]: _2 = const 10_i32 +63:29-65:18: @3[1]: _3 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="64:21-64:35: @3[0]: _2 = const 10_i32 +63:29-65:18: @3[1]: _3 = const ()"> }<span class="annotation">⦉@1,3</span></span></span><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="66:17-66:31: @4[4]: _6 = const "alt string 3" +66:17-66:31: @4[5]: _5 = &(*_6) +66:17-66:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +67:14-67:14: @5.Return: return"><span class="annotation">@4,5⦊</span>"alt string 3".to_owned()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="66:17-66:31: @4[4]: _6 = const "alt string 3" +66:17-66:31: @4[5]: _5 = &(*_6) +66:17-66:42: @4.Call: _0 = <str as ToOwned>::to_owned(move _5) -> [return: bb5, unwind: bb6] +67:14-67:14: @5.Return: return"> }<span class="annotation">⦉@4,5</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..f70576ca24e --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,4505 @@ +<!DOCTYPE html> +<html> +<head> +<title>closure.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="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> // Initialize test constants in a way that cannot be determined at compile time, to ensure</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> // dependent conditions.</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> let 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: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> let is_false = ! is_true;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> let mut some_string = Some(String::from("the string content"));</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 1".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> some_string = Some(String::from("the string content"));</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> let</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 2".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span>;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string = None;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 3".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> some_string = None;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> let</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +3:11-93:2: @33[8]: _0 = const ()"> <span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</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 mut countdown = 0;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if is_false {</span></span> +<span class="line"><span class="code" style="--layer: 0"> countdown = 10;</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span></span> +<span class="line"><span class="code" style="--layer: 0"> "alt string 4".to_owned()</span></span> +<span class="line"><span class="code" style="--layer: 0"> }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34⦊</span>;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> println!(</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> "The string or alt: {}"</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> ,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> some_string</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> .</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> unwrap_or_else</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> (</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> a</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> )</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return"> );</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb48] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb47] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +8:22-8:29: @3[3]: _6 = _1 +8:20-8:29: @3[4]: _5 = Not(move _6) +8:9-8:17: @3[6]: FakeRead(ForLet, _5) +10:32-10:66: @3.Call: _8 = <String as From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb48] +10:27-10:67: @4[0]: _7 = Option::<String>::Some(move _8) +10:9-10:24: @5[1]: FakeRead(ForLet, _7) +12:9-12:32: @5[8]: _102 = const main::promoted[3] +12:9-12:32: @5[9]: _14 = &(*_102) +12:9-12:32: @5[10]: _13 = &(*_14) +12:9-12:32: @5[11]: _12 = move _13 as &[&str] (Pointer(Unsize)) +14:9-14:20: @5[21]: _23 = move _7 +14:9-26:10: @5.Call: _22 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb45] +14:9-26:10: @6[2]: _21 = &_22 +11:5-27:7: @6[3]: _20 = (move _21,) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) +11:5-27:7: @6[10]: _28 = &(*_26) +11:5-27:7: @6[12]: _29 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +11:5-27:7: @6.Call: _27 = ArgumentV1::new::<String>(move _28, move _29) -> [return: bb7, unwind: bb44] +11:5-27:7: @7[2]: _19 = [move _27] +11:5-27:7: @7[5]: _18 = &_19 +11:5-27:7: @7[6]: _17 = &(*_18) +11:5-27:7: @7[7]: _16 = move _17 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -> [return: bb8, unwind: bb44] +11:5-27:7: @8.Call: _10 = _print(move _11) -> [return: bb9, unwind: bb44] +11:5-27:7: @10[6]: _9 = const () +29:24-29:58: @10.Call: _31 = <String as From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb46] +29:19-29:59: @11[0]: _30 = Option::<String>::Some(move _31) +33:9-40:6: @14[3]: _33 = &_5 +31:9-31:10: @14[6]: FakeRead(ForLet, _32) +42:9-42:32: @14[13]: _101 = const main::promoted[2] +42:9-42:32: @14[14]: _39 = &(*_101) +42:9-42:32: @14[15]: _38 = &(*_39) +42:9-42:32: @14[16]: _37 = move _38 as &[&str] (Pointer(Unsize)) +44:9-44:20: @14[26]: _48 = move _7 +48:13-48:14: @14[28]: _49 = _32 +44:9-49:10: @14.Call: _47 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb42] +44:9-49:10: @15[2]: _46 = &_47 +41:5-50:7: @15[3]: _45 = (move _46,) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) +41:5-50:7: @15[10]: _52 = &(*_50) +41:5-50:7: @15[12]: _53 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +41:5-50:7: @15.Call: _51 = ArgumentV1::new::<String>(move _52, move _53) -> [return: bb16, unwind: bb41] +41:5-50:7: @16[2]: _44 = [move _51] +41:5-50:7: @16[5]: _43 = &_44 +41:5-50:7: @16[6]: _42 = &(*_43) +41:5-50:7: @16[7]: _41 = move _42 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -> [return: bb17, unwind: bb41] +41:5-50:7: @17.Call: _35 = _print(move _36) -> [return: bb18, unwind: bb41] +41:5-50:7: @19[6]: _34 = const () +52:19-52:23: @19[9]: _54 = Option::<String>::None +54:9-54:32: @21[7]: _100 = const main::promoted[1] +54:9-54:32: @21[8]: _60 = &(*_100) +54:9-54:32: @21[9]: _59 = &(*_60) +54:9-54:32: @21[10]: _58 = move _59 as &[&str] (Pointer(Unsize)) +56:9-56:20: @21[20]: _69 = move _7 +56:9-68:10: @21.Call: _68 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb39] +56:9-68:10: @22[2]: _67 = &_68 +53:5-69:7: @22[3]: _66 = (move _67,) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) +53:5-69:7: @22[10]: _74 = &(*_72) +53:5-69:7: @22[12]: _75 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +53:5-69:7: @22.Call: _73 = ArgumentV1::new::<String>(move _74, move _75) -> [return: bb23, unwind: bb38] +53:5-69:7: @23[2]: _65 = [move _73] +53:5-69:7: @23[5]: _64 = &_65 +53:5-69:7: @23[6]: _63 = &(*_64) +53:5-69:7: @23[7]: _62 = move _63 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -> [return: bb24, unwind: bb38] +53:5-69:7: @24.Call: _56 = _print(move _57) -> [return: bb25, unwind: bb38] +53:5-69:7: @26[6]: _55 = const () +71:19-71:23: @26[9]: _76 = Option::<String>::None +73:9-73:10: @28[6]: FakeRead(ForLet, _77) +84:9-84:32: @28[13]: _99 = const main::promoted[0] +84:9-84:32: @28[14]: _84 = &(*_99) +84:9-84:32: @28[15]: _83 = &(*_84) +84:9-84:32: @28[16]: _82 = move _83 as &[&str] (Pointer(Unsize)) +86:9-86:20: @28[26]: _93 = move _7 +90:13-90:14: @28[28]: _94 = _77 +86:9-91:10: @28.Call: _92 = Option::<String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb36] +86:9-91:10: @29[2]: _91 = &_92 +83:5-92:7: @29[3]: _90 = (move _91,) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) +83:5-92:7: @29[10]: _97 = &(*_95) +83:5-92:7: @29[12]: _98 = <String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +83:5-92:7: @29.Call: _96 = ArgumentV1::new::<String>(move _97, move _98) -> [return: bb30, unwind: bb35] +83:5-92:7: @30[2]: _89 = [move _96] +83:5-92:7: @30[5]: _88 = &_89 +83:5-92:7: @30[6]: _87 = &(*_88) +83:5-92:7: @30[7]: _86 = move _87 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -> [return: bb31, unwind: bb35] +83:5-92:7: @31.Call: _80 = _print(move _81) -> [return: bb32, unwind: bb35] +83:5-92:7: @33[6]: _79 = const () +3:11-93:2: @33[8]: _0 = const () +93:2-93:2: @34.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..494e6f20ea7 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html> +<head> +<title>drop_trait.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 13"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),u8> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="15:24-15:48: @0[1]: _1 = Firework { strength: const 1_i32 } +15:9-15:21: @0[2]: FakeRead(ForLet, _1) +17:16-17:42: @0[4]: _2 = Firework { strength: const 100_i32 } +17:9-17:13: @0[5]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>_firecracker = Firework { strength: 1 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:24-15:48: @0[1]: _1 = Firework { strength: const 1_i32 } +15:9-15:21: @0[2]: FakeRead(ForLet, _1) +17:16-17:42: @0[4]: _2 = Firework { strength: const 100_i32 } +17:9-17:13: @0[5]: FakeRead(ForLet, _2)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:24-15:48: @0[1]: _1 = Firework { strength: const 1_i32 } +15:9-15:21: @0[2]: FakeRead(ForLet, _1) +17:16-17:42: @0[4]: _2 = Firework { strength: const 100_i32 } +17:9-17:13: @0[5]: FakeRead(ForLet, _2)"> let _tnt = Firework { strength: 100 }<span class="annotation">⦉@0</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"> if </span><span><span class="code even" style="--layer: 1" title="19:8-19:12: @0[8]: _4 = const true +19:8-19:12: @0[9]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@0⦊</span>true<span class="annotation">⦉@0</span></span></span><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="20:18-20:41: @3[6]: _21 = const main::promoted[1] +20:18-20:41: @3[7]: _11 = &(*_21) +20:18-20:41: @3[8]: _10 = &(*_11) +20:18-20:41: @3[9]: _9 = move _10 as &[&str] (Pointer(Unsize)) +20:9-20:43: @3[15]: _17 = () +20:9-20:43: @3[16]: FakeRead(ForMatchedPlace, _17) +20:9-20:43: @3[17]: _20 = const main::promoted[0] +20:9-20:43: @3[18]: _15 = &(*_20) +20:9-20:43: @3[19]: _14 = &(*_15) +20:9-20:43: @3[20]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb4, unwind: bb12] +20:9-20:43: @4.Call: _7 = _print(move _8) -> [return: bb5, unwind: bb12] +20:9-20:43: @5[5]: _6 = const () +21:16-21:22: @5[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"><span class="annotation">@1,3,4,5,9,10⦊</span>println!("Exiting with error...");</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="20:18-20:41: @3[6]: _21 = const main::promoted[1] +20:18-20:41: @3[7]: _11 = &(*_21) +20:18-20:41: @3[8]: _10 = &(*_11) +20:18-20:41: @3[9]: _9 = move _10 as &[&str] (Pointer(Unsize)) +20:9-20:43: @3[15]: _17 = () +20:9-20:43: @3[16]: FakeRead(ForMatchedPlace, _17) +20:9-20:43: @3[17]: _20 = const main::promoted[0] +20:9-20:43: @3[18]: _15 = &(*_20) +20:9-20:43: @3[19]: _14 = &(*_15) +20:9-20:43: @3[20]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb4, unwind: bb12] +20:9-20:43: @4.Call: _7 = _print(move _8) -> [return: bb5, unwind: bb12] +20:9-20:43: @5[5]: _6 = const () +21:16-21:22: @5[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"> return Err(1)<span class="annotation">⦉@1,3,4,5,9,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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> let _ = </span><span><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 } +26:8-26:10: @6[2]: _19 = () +26:5-26:11: @6[3]: _0 = std::result::Result::<(), u8>::Ok(move _19)"><span class="annotation">@2,6,7,8⦊</span>Firework { strength: 1000 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 } +26:8-26:10: @6[2]: _19 = () +26:5-26:11: @6[3]: _0 = std::result::Result::<(), u8>::Ok(move _19)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 } +26:8-26:10: @6[2]: _19 = () +26:5-26:11: @6[3]: _0 = std::result::Result::<(), u8>::Ok(move _19)"> Ok(())<span class="annotation">⦉@2,6,7,8</span></span></span><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:2-27:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..9530d12fb49 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html @@ -0,0 +1,123 @@ +<!DOCTYPE html> +<html> +<head> +<title>drop_trait.{impl#0}-drop - 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 8"><span class="line"> <span class="code" style="--layer: 0">fn drop(&mut self) </span><span><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const <Firework as Drop>::drop::promoted[0] +10:18-10:36: @0[7]: _7 = &(*_19) +10:18-10:36: @0[8]: _6 = &(*_7) +10:18-10:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +10:38-10:51: @0[17]: _14 = &((*_1).0: i32) +10:9-10:53: @0[18]: _13 = (move _14,) +10:9-10:53: @0[20]: FakeRead(ForMatchedPlace, _13) +10:9-10:53: @0[22]: _15 = (_13.0: &i32) +10:9-10:53: @0[25]: _17 = &(*_15) +10:9-10:53: @0[27]: _18 = <i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +10:9-10:53: @0.Call: _16 = ArgumentV1::new::<i32>(move _17, move _18) -> [return: bb1, unwind: bb4] +10:9-10:53: @1[2]: _12 = [move _16] +10:9-10:53: @1[5]: _11 = &_12 +10:9-10:53: @1[6]: _10 = &(*_11) +10:9-10:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +10:9-10:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +10:9-10:53: @3[6]: _2 = const () +9:24-11:6: @3[8]: _0 = const () +11:6-11:6: @3.Return: return"><span class="annotation">@0,1,2,3⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const <Firework as Drop>::drop::promoted[0] +10:18-10:36: @0[7]: _7 = &(*_19) +10:18-10:36: @0[8]: _6 = &(*_7) +10:18-10:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +10:38-10:51: @0[17]: _14 = &((*_1).0: i32) +10:9-10:53: @0[18]: _13 = (move _14,) +10:9-10:53: @0[20]: FakeRead(ForMatchedPlace, _13) +10:9-10:53: @0[22]: _15 = (_13.0: &i32) +10:9-10:53: @0[25]: _17 = &(*_15) +10:9-10:53: @0[27]: _18 = <i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +10:9-10:53: @0.Call: _16 = ArgumentV1::new::<i32>(move _17, move _18) -> [return: bb1, unwind: bb4] +10:9-10:53: @1[2]: _12 = [move _16] +10:9-10:53: @1[5]: _11 = &_12 +10:9-10:53: @1[6]: _10 = &(*_11) +10:9-10:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +10:9-10:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +10:9-10:53: @3[6]: _2 = const () +9:24-11:6: @3[8]: _0 = const () +11:6-11:6: @3.Return: return"> println!("BOOM times {}!!!", self.strength);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const <Firework as Drop>::drop::promoted[0] +10:18-10:36: @0[7]: _7 = &(*_19) +10:18-10:36: @0[8]: _6 = &(*_7) +10:18-10:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +10:38-10:51: @0[17]: _14 = &((*_1).0: i32) +10:9-10:53: @0[18]: _13 = (move _14,) +10:9-10:53: @0[20]: FakeRead(ForMatchedPlace, _13) +10:9-10:53: @0[22]: _15 = (_13.0: &i32) +10:9-10:53: @0[25]: _17 = &(*_15) +10:9-10:53: @0[27]: _18 = <i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +10:9-10:53: @0.Call: _16 = ArgumentV1::new::<i32>(move _17, move _18) -> [return: bb1, unwind: bb4] +10:9-10:53: @1[2]: _12 = [move _16] +10:9-10:53: @1[5]: _11 = &_12 +10:9-10:53: @1[6]: _10 = &(*_11) +10:9-10:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +10:9-10:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +10:9-10:53: @3[6]: _2 = const () +9:24-11:6: @3[8]: _0 = const () +11:6-11:6: @3.Return: return"> }<span class="annotation">⦉@0,1,2,3</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..6dc893d28ff --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,167 @@ +<!DOCTYPE html> +<html> +<head> +<title>generics.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 21"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),u8> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"><span class="annotation">@0,1,2,3⦊</span>mut firecracker = Firework { strength: 1 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> firecracker.set_strength(2);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> let mut tnt = Firework { strength: 100.1 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> tnt.set_strength(200.1);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:27-23:51: @0[1]: _1 = Firework::<i32> { strength: const 1_i32 } +23:9-23:24: @0[2]: FakeRead(ForLet, _1) +24:5-24:16: @0[5]: _3 = &mut _1 +24:5-24:32: @0.Call: _2 = Firework::<i32>::set_strength(move _3, const 2_i32) -> [return: bb1, unwind: bb16] +26:19-26:47: @1[3]: _4 = Firework::<f64> { strength: const 100.09999999999999f64 } +26:9-26:16: @1[4]: FakeRead(ForLet, _4) +27:5-27:8: @1[7]: _6 = &mut _4 +27:5-27:28: @1.Call: _5 = Firework::<f64>::set_strength(move _6, const 200.09999999999999f64) -> [return: bb2, unwind: bb15] +28:5-28:8: @2[4]: _8 = &mut _4 +28:5-28:28: @2.Call: _7 = Firework::<f64>::set_strength(move _8, const 300.30000000000001f64) -> [return: bb3, unwind: bb15]"> tnt.set_strength(300.3)<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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="30:8-30:12: @3[4]: _10 = const true +30:8-30:12: @3[5]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@0,1,2,3⦊</span>true<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"> </span><span><span class="code odd" style="--layer: 1" title="31:18-31:41: @6[6]: _27 = const main::promoted[1] +31:18-31:41: @6[7]: _17 = &(*_27) +31:18-31:41: @6[8]: _16 = &(*_17) +31:18-31:41: @6[9]: _15 = move _16 as &[&str] (Pointer(Unsize)) +31:9-31:43: @6[15]: _23 = () +31:9-31:43: @6[16]: FakeRead(ForMatchedPlace, _23) +31:9-31:43: @6[17]: _26 = const main::promoted[0] +31:9-31:43: @6[18]: _21 = &(*_26) +31:9-31:43: @6[19]: _20 = &(*_21) +31:9-31:43: @6[20]: _19 = move _20 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -> [return: bb7, unwind: bb15] +31:9-31:43: @7.Call: _13 = _print(move _14) -> [return: bb8, unwind: bb15] +31:9-31:43: @8[5]: _12 = const () +32:16-32:22: @8[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"><span class="annotation">@4,6,7,8,12,13⦊</span>println!("Exiting with error...");</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:18-31:41: @6[6]: _27 = const main::promoted[1] +31:18-31:41: @6[7]: _17 = &(*_27) +31:18-31:41: @6[8]: _16 = &(*_17) +31:18-31:41: @6[9]: _15 = move _16 as &[&str] (Pointer(Unsize)) +31:9-31:43: @6[15]: _23 = () +31:9-31:43: @6[16]: FakeRead(ForMatchedPlace, _23) +31:9-31:43: @6[17]: _26 = const main::promoted[0] +31:9-31:43: @6[18]: _21 = &(*_26) +31:9-31:43: @6[19]: _20 = &(*_21) +31:9-31:43: @6[20]: _19 = move _20 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -> [return: bb7, unwind: bb15] +31:9-31:43: @7.Call: _13 = _print(move _14) -> [return: bb8, unwind: bb15] +31:9-31:43: @8[5]: _12 = const () +32:16-32:22: @8[7]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"> return Err(1)<span class="annotation">⦉@4,6,7,8,12,13</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="line"><span class="code" style="--layer: 0"> let _ = </span><span><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::<i32> { strength: const 1000_i32 } +37:8-37:10: @9[2]: _25 = () +37:5-37:11: @9[3]: _0 = std::result::Result::<(), u8>::Ok(move _25)"><span class="annotation">@5,9,10,11⦊</span>Firework { strength: 1000 };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::<i32> { strength: const 1000_i32 } +37:8-37:10: @9[2]: _25 = () +37:5-37:11: @9[3]: _0 = std::result::Result::<(), u8>::Ok(move _25)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::<i32> { strength: const 1000_i32 } +37:8-37:10: @9[2]: _25 = () +37:5-37:11: @9[3]: _0 = std::result::Result::<(), u8>::Ok(move _25)"> Ok(())<span class="annotation">⦉@5,9,10,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="code odd" style="--layer: 1" title="38:2-38:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div> +</body> +</html> diff --git a/src/test/mir-opt/spanview_statement.main.mir_map.0.html.mir b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#0}-set_strength.-------.InstrumentCoverage.0.html index 8a34b8b5dae..e31e47b81d4 100644 --- a/src/test/mir-opt/spanview_statement.main.mir_map.0.html.mir +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#0}-set_strength.-------.InstrumentCoverage.0.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <title>coverage_of_if_else - Code Regions</title> - <style> +<title>generics.{impl#0}-set_strength - Coverage Spans</title> +<style> .line { counter-increment: line; } @@ -56,11 +56,20 @@ /* requires hover over a span ONLY on its first line */ display: inline-block; } - </style> +</style> </head> <body> -<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="0[0]: $DIR/spanview-statement.rs:5:11: 5:13: - 5:11-5:13: Assign: _0 = const ()"><span class="annotation">0[0]⦊</span>{}<span class="annotation">⦉0[0]</span></span></span><span><span class="code odd" style="--layer: 1" title="0:Return: $DIR/spanview-statement.rs:5:13: 5:13: - 5:13-5:13: Return: return"><span class="annotation">0:Return⦊</span>‸<span class="annotation">⦉0:Return</span></span></span></span></div> +<div class="code" style="counter-reset: line 9"><span class="line"> <span class="code" style="--layer: 0">fn set_strength(&mut self, new_strength: T) </span><span><span class="code even" style="--layer: 1" title="11:25-11:37: @0[1]: _3 = _2 +11:9-11:37: @0[2]: ((*_1).0: T) = move _3 +10:49-12:6: @0[4]: _0 = const () +12:6-12:6: @0.Return: return"><span class="annotation">@0⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="11:25-11:37: @0[1]: _3 = _2 +11:9-11:37: @0[2]: ((*_1).0: T) = move _3 +10:49-12:6: @0[4]: _0 = const () +12:6-12:6: @0.Return: return"> self.strength = new_strength;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="11:25-11:37: @0[1]: _3 = _2 +11:9-11:37: @0[2]: ((*_1).0: T) = move _3 +10:49-12:6: @0[4]: _0 = const () +12:6-12:6: @0.Return: return"> }<span class="annotation">⦉@0</span></span></span></span></div> </body> </html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..99a7df4a670 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html @@ -0,0 +1,123 @@ +<!DOCTYPE html> +<html> +<head> +<title>generics.{impl#1}-drop - 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 16"><span class="line"> <span class="code" style="--layer: 0">fn drop(&mut self) </span><span><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const <Firework<T> as Drop>::drop::promoted[0] +18:18-18:36: @0[7]: _7 = &(*_19) +18:18-18:36: @0[8]: _6 = &(*_7) +18:18-18:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +18:38-18:51: @0[17]: _14 = &((*_1).0: T) +18:9-18:53: @0[18]: _13 = (move _14,) +18:9-18:53: @0[20]: FakeRead(ForMatchedPlace, _13) +18:9-18:53: @0[22]: _15 = (_13.0: &T) +18:9-18:53: @0[25]: _17 = &(*_15) +18:9-18:53: @0[27]: _18 = <T as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +18:9-18:53: @0.Call: _16 = ArgumentV1::new::<T>(move _17, move _18) -> [return: bb1, unwind: bb4] +18:9-18:53: @1[2]: _12 = [move _16] +18:9-18:53: @1[5]: _11 = &_12 +18:9-18:53: @1[6]: _10 = &(*_11) +18:9-18:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +18:9-18:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +18:9-18:53: @3[6]: _2 = const () +17:24-19:6: @3[8]: _0 = const () +19:6-19:6: @3.Return: return"><span class="annotation">@0,1,2,3⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const <Firework<T> as Drop>::drop::promoted[0] +18:18-18:36: @0[7]: _7 = &(*_19) +18:18-18:36: @0[8]: _6 = &(*_7) +18:18-18:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +18:38-18:51: @0[17]: _14 = &((*_1).0: T) +18:9-18:53: @0[18]: _13 = (move _14,) +18:9-18:53: @0[20]: FakeRead(ForMatchedPlace, _13) +18:9-18:53: @0[22]: _15 = (_13.0: &T) +18:9-18:53: @0[25]: _17 = &(*_15) +18:9-18:53: @0[27]: _18 = <T as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +18:9-18:53: @0.Call: _16 = ArgumentV1::new::<T>(move _17, move _18) -> [return: bb1, unwind: bb4] +18:9-18:53: @1[2]: _12 = [move _16] +18:9-18:53: @1[5]: _11 = &_12 +18:9-18:53: @1[6]: _10 = &(*_11) +18:9-18:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +18:9-18:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +18:9-18:53: @3[6]: _2 = const () +17:24-19:6: @3[8]: _0 = const () +19:6-19:6: @3.Return: return"> println!("BOOM times {}!!!", self.strength);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const <Firework<T> as Drop>::drop::promoted[0] +18:18-18:36: @0[7]: _7 = &(*_19) +18:18-18:36: @0[8]: _6 = &(*_7) +18:18-18:36: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) +18:38-18:51: @0[17]: _14 = &((*_1).0: T) +18:9-18:53: @0[18]: _13 = (move _14,) +18:9-18:53: @0[20]: FakeRead(ForMatchedPlace, _13) +18:9-18:53: @0[22]: _15 = (_13.0: &T) +18:9-18:53: @0[25]: _17 = &(*_15) +18:9-18:53: @0[27]: _18 = <T as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +18:9-18:53: @0.Call: _16 = ArgumentV1::new::<T>(move _17, move _18) -> [return: bb1, unwind: bb4] +18:9-18:53: @1[2]: _12 = [move _16] +18:9-18:53: @1[5]: _11 = &_12 +18:9-18:53: @1[6]: _10 = &(*_11) +18:9-18:53: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb4] +18:9-18:53: @2.Call: _3 = _print(move _4) -> [return: bb3, unwind: bb4] +18:9-18:53: @3[6]: _2 = const () +17:24-19:6: @3[8]: _0 = const () +19:6-19:6: @3.Return: return"> }<span class="annotation">⦉@0,1,2,3</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..0379d900e94 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,162 @@ +<!DOCTYPE html> +<html> +<head> +<title>if.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="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"><span class="annotation">@0,1,2,3⦊</span>is_true</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> std::env::args().len()</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> ==</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> 1</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> let</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> mut</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -> [return: bb1, unwind: bb9] +10:9-10:25: @1[0]: _3 = &_4 +10:9-10:31: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] +10:9-12:10: @2[1]: _1 = Eq(move _2, const 1_usize) +8:5-8:12: @2[3]: FakeRead(ForLet, _1) +18:9-18:10: @3[2]: _5 = const 0_i32 +15:9-16:14: @3[3]: FakeRead(ForLet, _5)"> 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"> ;</span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="21:9-21:16: @3[5]: _6 = _1 +21:9-21:16: @3[6]: FakeRead(ForMatchedPlace, _6)"><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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="23:9-25:15: @6[0]: _5 = const 10_i32 +22:5-27:6: @6[1]: _0 = 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">}</span><span><span class="code even" style="--layer: 1" title="28:2-28:2: @7.Return: return"><span class="annotation">@7⦊</span>‸<span class="annotation">⦉@7</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..b51c5c84c0d --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,163 @@ +<!DOCTYPE html> +<html> +<head> +<title>if_else.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: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"><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: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"> let mut countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"> if</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb13] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb12] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5) +11:9-11:16: @3[6]: _7 = _1 +11:9-11:16: @3[7]: FakeRead(ForMatchedPlace, _7)"> is_true<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"> </span><span><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="13:9-15:15: @6[0]: _5 = const 10_i32 +12:5-17:6: @6[1]: _6 = 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"> else // Note coverage region difference without semicolon</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:9-22:16: @5[0]: _5 = const 100_i32 +20:9-22:16: @5[1]: _6 = const ()"><span class="annotation">@5⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="20:9-22:16: @5[0]: _5 = const 100_i32 +20:9-22:16: @5[1]: _6 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="20:9-22:16: @5[0]: _5 = const 100_i32 +20:9-22:16: @5[1]: _6 = const ()"> 100<span class="annotation">⦉@5</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="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="26:9-26:16: @7[3]: _8 = _1 +26:9-26:16: @7[4]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@7⦊</span>is_true<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="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"><span class="annotation">@8,10⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> 10</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32 +27:5-32:6: @10[1]: _0 = const ()"> }<span class="annotation">⦉@8,10</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> else</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"><span class="annotation">@9⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> 100</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32 +34:5-39:6: @9[1]: _0 = const ()"> }<span class="annotation">⦉@9</span></span></span><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="40:2-40:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..20c54d0e6b4 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.main-InTrait-default_trait_func - 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 32"><span class="line"> <span class="code" style="--layer: 0">fn default_trait_func(&mut self) </span><span><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"> in_func(IN_CONST);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"> self.trait_func(IN_CONST);</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -> [return: bb1, unwind: bb3] +35:13-35:17: @1[3]: _4 = &mut (*_1) +35:13-35:38: @1.Call: _3 = <Self as InTrait>::trait_func(move _4, const IN_CONST) -> [return: bb2, unwind: bb3] +33:42-36:10: @2[2]: _0 = const () +36:10-36:10: @2.Return: return"> }<span class="annotation">⦉@0,1,2</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..49639cc6884 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html @@ -0,0 +1,107 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.main-in_func - 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 17"><span class="line"> <span class="code" style="--layer: 0">fn in_func(a: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="19:17-19:18: @0[1]: _2 = const 1_u32 +19:13-19:14: @0[2]: FakeRead(ForLet, _2)"><span class="annotation">@0⦊</span>b = 1<span class="annotation">⦉@0</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="code odd" style="--layer: 1" title="20:13-20:14: @1[3]: FakeRead(ForLet, _3)"><span class="annotation">@1,2,3,4⦊</span>c<span class="annotation">⦉@1,2,3,4</span></span></span><span class="code" style="--layer: 0"> = </span><span><span class="code even" style="--layer: 1" title="20:17-20:18: @0[5]: _4 = _1 +20:21-20:22: @0[7]: _5 = _2 +20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)"><span class="annotation">@0⦊</span>a + b<span class="annotation">⦉@0</span></span></span><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="21:18-21:26: @1[9]: _23 = const in_func::promoted[0] +21:18-21:26: @1[10]: _11 = &(*_23) +21:18-21:26: @1[11]: _10 = &(*_11) +21:18-21:26: @1[12]: _9 = move _10 as &[&str] (Pointer(Unsize)) +21:28-21:29: @1[20]: _18 = &_3 +21:9-21:30: @1[21]: _17 = (move _18,) +21:9-21:30: @1[23]: FakeRead(ForMatchedPlace, _17) +21:9-21:30: @1[25]: _19 = (_17.0: &u32) +21:9-21:30: @1[28]: _21 = &(*_19) +21:9-21:30: @1[30]: _22 = <u32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r u32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +21:9-21:30: @1.Call: _20 = ArgumentV1::new::<u32>(move _21, move _22) -> [return: bb2, unwind: bb5] +21:9-21:30: @2[2]: _16 = [move _20] +21:9-21:30: @2[5]: _15 = &_16 +21:9-21:30: @2[6]: _14 = &(*_15) +21:9-21:30: @2[7]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb3, unwind: bb5] +21:9-21:30: @3.Call: _7 = _print(move _8) -> [return: bb4, unwind: bb5] +21:9-21:30: @4[6]: _0 = const () +22:6-22:6: @4.Return: return"><span class="annotation">@1,2,3,4⦊</span>println!("c = {}", c)</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="21:18-21:26: @1[9]: _23 = const in_func::promoted[0] +21:18-21:26: @1[10]: _11 = &(*_23) +21:18-21:26: @1[11]: _10 = &(*_11) +21:18-21:26: @1[12]: _9 = move _10 as &[&str] (Pointer(Unsize)) +21:28-21:29: @1[20]: _18 = &_3 +21:9-21:30: @1[21]: _17 = (move _18,) +21:9-21:30: @1[23]: FakeRead(ForMatchedPlace, _17) +21:9-21:30: @1[25]: _19 = (_17.0: &u32) +21:9-21:30: @1[28]: _21 = &(*_19) +21:9-21:30: @1[30]: _22 = <u32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r u32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) +21:9-21:30: @1.Call: _20 = ArgumentV1::new::<u32>(move _21, move _22) -> [return: bb2, unwind: bb5] +21:9-21:30: @2[2]: _16 = [move _20] +21:9-21:30: @2[5]: _15 = &_16 +21:9-21:30: @2[6]: _14 = &(*_15) +21:9-21:30: @2[7]: _13 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -> [return: bb3, unwind: bb5] +21:9-21:30: @3.Call: _7 = _print(move _8) -> [return: bb4, unwind: bb5] +21:9-21:30: @4[6]: _0 = const () +22:6-22:6: @4.Return: return"> }<span class="annotation">⦉@1,2,3,4</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..a2cf86de278 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.main-{impl#0}-trait_func - 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 39"><span class="line"> <span class="code" style="--layer: 0">fn trait_func(&mut self, incr: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="41:37-41:41: @0[1]: _3 = _2 +41:13-41:41: @0[2]: _4 = CheckedAdd(((*_1).0: u32), _3)"><span class="annotation">@0⦊</span>self.in_struct_field += incr<span class="annotation">⦉@0</span></span></span><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="42:21-42:41: @1[4]: _6 = ((*_1).0: u32) +42:13-42:42: @1.Call: _5 = in_func(move _6) -> [return: bb2, unwind: bb3] +43:10-43:10: @2.Return: return"><span class="annotation">@1,2⦊</span>in_func(self.in_struct_field);</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="42:21-42:41: @1[4]: _6 = ((*_1).0: u32) +42:13-42:42: @1.Call: _5 = in_func(move _6) -> [return: bb2, unwind: bb3] +43:10-43:10: @2.Return: return"> }<span class="annotation">⦉@1,2</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..56557b8ef95 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,171 @@ +<!DOCTYPE html> +<html> +<head> +<title>inner_items.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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_u32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"><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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_u32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_u32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"> let mut countdown = 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[6]: _7 = _1 +10:8-10:15: @3[7]: FakeRead(ForMatchedPlace, _7)"><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:23: @6[0]: _5 = const 10_u32 +10:16-12:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:23: @6[0]: _5 = const 10_u32 +10:16-12:6: @6[1]: _6 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:23: @6[0]: _5 = const 10_u32 +10:16-12:6: @6[1]: _6 = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> mod in_mod {</span></span> +<span class="line"><span class="code" style="--layer: 0"> const IN_MOD_CONST: u32 = 1000;</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="line"><span class="code" style="--layer: 0"> fn in_func(a: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let b = 1;</span></span> +<span class="line"><span class="code" style="--layer: 0"> let c = a + b;</span></span> +<span class="line"><span class="code" style="--layer: 0"> println!("c = {}", c)</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="line"><span class="code" style="--layer: 0"> struct InStruct {</span></span> +<span class="line"><span class="code" style="--layer: 0"> in_struct_field: u32,</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="line"><span class="code" style="--layer: 0"> const IN_CONST: u32 = 1234;</span></span> +<span class="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> trait InTrait {</span></span> +<span class="line"><span class="code" style="--layer: 0"> fn trait_func(&mut self, incr: u32);</span></span> +<span class="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> fn default_trait_func(&mut self) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> in_func(IN_CONST);</span></span> +<span class="line"><span class="code" style="--layer: 0"> self.trait_func(IN_CONST);</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="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> impl InTrait for InStruct {</span></span> +<span class="line"><span class="code" style="--layer: 0"> fn trait_func(&mut self, incr: u32) {</span></span> +<span class="line"><span class="code" style="--layer: 0"> self.in_struct_field += incr;</span></span> +<span class="line"><span class="code" style="--layer: 0"> in_func(self.in_struct_field);</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="line"><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> type InType = String;</span></span> +<span class="line"><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="48:8-48:15: @7[4]: _9 = _1 +48:8-48:15: @7[5]: FakeRead(ForMatchedPlace, _9)"><span class="annotation">@7⦊</span>is_true<span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="49:17-49:26: @10[2]: _11 = _5 +49:9-49:27: @10.Call: _10 = in_func(move _11) -> [return: bb11, unwind: bb15] +48:16-50:6: @11[2]: _8 = const ()"><span class="annotation">@8,10,11⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="49:17-49:26: @10[2]: _11 = _5 +49:9-49:27: @10.Call: _10 = in_func(move _11) -> [return: bb11, unwind: bb15] +48:16-50:6: @11[2]: _8 = const ()"> in_func(countdown);</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="49:17-49:26: @10[2]: _11 = _5 +49:9-49:27: @10.Call: _10 = in_func(move _11) -> [return: bb11, unwind: bb15] +48:16-50:6: @11[2]: _8 = const ()"> }<span class="annotation">⦉@8,10,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"> let </span><span><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"><span class="annotation">@12,13⦊</span>mut val = InStruct {</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"> in_struct_field: 101,</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"> };</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return"> val.default_trait_func();</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @12[3]: _12 = InStruct { in_struct_field: const 101_u32 } +52:9-52:16: @12[4]: FakeRead(ForLet, _12) +56:5-56:8: @12[7]: _14 = &mut _12 +56:5-56:29: @12.Call: _13 = <InStruct as InTrait>::default_trait_func(move _14) -> [return: bb13, unwind: bb15] +57:2-57:2: @13.Return: return">}<span class="annotation">⦉@12,13</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..defe743df60 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,160 @@ +<!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> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..dc26c796637 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,118 @@ +<!DOCTYPE html> +<html> +<head> +<title>loop_break_value.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="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"><span class="annotation">@0,1⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> let result</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> =</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> loop</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> {</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> break</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> 10</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> }</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return"> ;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="6:13-11:10: @0.FalseUnwind: falseUnwind -> [real: bb1, cleanup: bb2] +9:13-9:15: @1[0]: _1 = const 10_i32 +4:9-4:15: @1[1]: FakeRead(ForLet, _1) +3:11-13:2: @1[2]: _0 = const () +13:2-13:2: @1.Return: return">}<span class="annotation">⦉@0,1</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..4b21d3fc263 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,127 @@ +<!DOCTYPE html> +<html> +<head> +<title>simple_loop.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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"><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: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb15] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb14] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 0_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"> let mut countdown = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="12:9-12:16: @3[6]: _7 = _1 +12:9-12:16: @3[7]: FakeRead(ForMatchedPlace, _7)"><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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> =</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="14:9-16:15: @6[0]: _5 = const 10_i32 +13:5-18:6: @6[1]: _6 = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> loop</span></span> +<span class="line"><span class="code" style="--layer: 0"> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="23:13-23:22: @9[3]: _11 = _5 +23:13-25:14: @9[4]: _10 = Eq(move _11, const 0_i32) +23:13-25:14: @9[6]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@8,9⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:13-23:22: @9[3]: _11 = _5 +23:13-25:14: @9[4]: _10 = Eq(move _11, const 0_i32) +23:13-25:14: @9[6]: FakeRead(ForMatchedPlace, _10)"> ==</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="23:13-23:22: @9[3]: _11 = _5 +23:13-25:14: @9[4]: _10 = Eq(move _11, const 0_i32) +23:13-25:14: @9[6]: FakeRead(ForMatchedPlace, _10)"> 0<span class="annotation">⦉@8,9</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:18: @12[0]: _0 = const ()"><span class="annotation">@10,12⦊</span>break<span class="annotation">⦉@10,12</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="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="30:9-32:10: @11[3]: _13 = CheckedSub(_5, const 1_i32)"><span class="annotation">@11⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @11[3]: _13 = CheckedSub(_5, const 1_i32)"> -=</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @11[3]: _13 = CheckedSub(_5, const 1_i32)"> 1<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="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="35:2-35:2: @12.Return: return"><span class="annotation">@10,12⦊</span>‸<span class="annotation">⦉@10,12</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..5ba770ef607 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,190 @@ +<!DOCTYPE html> +<html> +<head> +<title>simple_match.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: bb22] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb21] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 1_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"><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: bb22] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb21] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 1_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"></span></span> +<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -> [return: bb1, unwind: bb22] +7:19-7:35: @1[0]: _3 = &_4 +7:19-7:41: @1.Call: _2 = <Args as ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb21] +7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) +7:9-7:16: @2[3]: FakeRead(ForLet, _1) +9:25-9:26: @3[2]: _5 = const 1_i32 +9:9-9:22: @3[3]: FakeRead(ForLet, _5)"> let mut countdown = 1<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[6]: _7 = _1 +10:8-10:15: @3[7]: FakeRead(ForMatchedPlace, _7)"><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:22: @6[0]: _5 = const 0_i32 +10:16-12:6: @6[1]: _6 = const ()"><span class="annotation">@4,6⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:22: @6[0]: _5 = const 0_i32 +10:16-12:6: @6[1]: _6 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:22: @6[0]: _5 = const 0_i32 +10:16-12:6: @6[1]: _6 = 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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="15:9-15:10: @11[2]: _17 = discriminant(_14)"><span class="annotation">@9,10,11⦊</span>for</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:9-15:10: @11[2]: _17 = discriminant(_14)"> _<span class="annotation">⦉@9,10,11</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> in</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="17:9-17:13: @7[4]: _9 = std::ops::Range::<i32> { start: const 0_i32, end: const 2_i32 } +17:9-17:13: @7.Call: _8 = <std::ops::Range<i32> as IntoIterator>::into_iter(move _9) -> [return: bb8, unwind: bb22] +17:9-17:13: @8[1]: FakeRead(ForMatchedPlace, _8) +17:9-17:13: @8[3]: _10 = move _8"><span class="annotation">@7,8⦊</span>0..2<span class="annotation">⦉@7,8</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 z</span></span> +<span class="line"><span class="code" style="--layer: 0"> ;</span></span> +<span class="line"><span class="code" style="--layer: 0"> match</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"><span class="annotation">@13,15,17⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> {</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> x</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> if</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> x</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> <</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="22:13-22:22: @15[13]: FakeRead(ForMatchedPlace, _5) +24:13-24:14: @17[1]: _24 = &_5 +26:17-26:18: @17[4]: _26 = (*_24) +26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)"> 1<span class="annotation">⦉@13,15,17</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="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"><span class="annotation">@18⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> z = countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> let y = countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> countdown = 10</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> ;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="31:21-31:30: @18[5]: _27 = _5 +31:17-31:30: @18[6]: _22 = move _27 +33:25-33:34: @18[9]: _28 = _5 +33:21-33:22: @18[10]: FakeRead(ForLet, _28) +35:17-35:31: @18[11]: _5 = const 10_i32 +30:13-37:14: @18[12]: _21 = const ()"> }<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"> =></span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="40:13-40:15: @16[0]: _21 = const ()"><span class="annotation">@16⦊</span>{}<span class="annotation">⦉@16</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="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="43:2-43:2: @12.Return: return"><span class="annotation">@12⦊</span>‸<span class="annotation">⦉@12</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..9f993342340 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html @@ -0,0 +1,73 @@ +<!DOCTYPE html> +<html> +<head> +<title>try_error_result.call - 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 3"><span class="line"><span class="code" style="--layer: 0">fn call(return_error: bool) -> Result<(),()> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="5:8-5:20: @0[1]: _2 = _1 +5:8-5:20: @0[2]: FakeRead(ForMatchedPlace, _2)"><span class="annotation">@0⦊</span>return_error<span class="annotation">⦉@0</span></span></span><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="6:13-6:15: @3[1]: _3 = () +6:9-6:16: @3[2]: _0 = std::result::Result::<(), ()>::Err(move _3)"><span class="annotation">@1,3⦊</span>Err(())<span class="annotation">⦉@1,3</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="8:12-8:14: @2[1]: _4 = () +8:9-8:15: @2[2]: _0 = std::result::Result::<(), ()>::Ok(move _4)"><span class="annotation">@2⦊</span>Ok(())<span class="annotation">⦉@2</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="10:2-10:2: @4.Return: return"><span class="annotation">@4⦊</span>‸<span class="annotation">⦉@4</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..660c3031f35 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<html> +<head> +<title>try_error_result.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 11"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),()> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="14:21-14:23: @0[1]: _1 = const 10_i32 +13:9-14:18: @0[2]: FakeRead(ForLet, _1)"><span class="annotation">@0,1⦊</span>mut</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="14:21-14:23: @0[1]: _1 = const 10_i32 +13:9-14:18: @0[2]: FakeRead(ForLet, _1)"> countdown = 10<span class="annotation">⦉@0,1</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="17:9-17:10: @4[2]: _12 = discriminant(_9)"><span class="annotation">@2,3,4⦊</span>for</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="17:9-17:10: @4[2]: _12 = discriminant(_9)"> _<span class="annotation">⦉@2,3,4</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> in</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="19:9-19:14: @0[6]: _4 = std::ops::Range::<i32> { start: const 0_i32, end: const 10_i32 } +19:9-19:14: @0.Call: _3 = <std::ops::Range<i32> as IntoIterator>::into_iter(move _4) -> [return: bb1, unwind: bb32] +19:9-19:14: @1[1]: FakeRead(ForMatchedPlace, _3) +19:9-19:14: @1[3]: _5 = move _3"><span class="annotation">@0,1⦊</span>0..10<span class="annotation">⦉@0,1</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="21:9-22:17: @8[12]: _17 = CheckedSub(_1, const 1_i32)"><span class="annotation">@6,8⦊</span>countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="21:9-22:17: @8[12]: _17 = CheckedSub(_1, const 1_i32)"> -= 1<span class="annotation">⦉@6,8</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"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="25:13-25:22: @9[3]: _19 = _1 +25:13-25:26: @9[4]: _18 = Lt(move _19, const 5_i32) +25:13-25:26: @9[6]: FakeRead(ForMatchedPlace, _18)"><span class="annotation">@9⦊</span>countdown < 5<span class="annotation">⦉@9</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:41: @12.Call: _22 = call(const true) -> [return: bb13, unwind: bb32] +27:13-27:42: @13.Call: _21 = <std::result::Result<(), ()> as Try>::into_result(move _22) -> [return: bb14, unwind: bb32] +27:13-27:42: @14[1]: FakeRead(ForMatchedPlace, _21) +27:41-27:42: @14[2]: _23 = discriminant(_21)"><span class="annotation">@10,12,13,14⦊</span>call(/*return_error=*/ true)?<span class="annotation">⦉@10,12,13,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"> else</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="31:13-31:42: @11.Call: _31 = call(const false) -> [return: bb21, unwind: bb32] +31:13-31:43: @21.Call: _30 = <std::result::Result<(), ()> as Try>::into_result(move _31) -> [return: bb22, unwind: bb32] +31:13-31:43: @22[1]: FakeRead(ForMatchedPlace, _30) +31:42-31:43: @22[2]: _32 = discriminant(_30)"><span class="annotation">@11,21,22⦊</span>call(/*return_error=*/ false)?<span class="annotation">⦉@11,21,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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="34:8-34:10: @5[9]: _38 = () +34:5-34:11: @5[10]: _0 = std::result::Result::<(), ()>::Ok(move _38)"><span class="annotation">@5⦊</span>Ok(())<span class="annotation">⦉@5</span></span></span><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="35:2-35:2: @31.Return: return"><span class="annotation">@31⦊</span>‸<span class="annotation">⦉@31</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..28f1d013c83 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,228 @@ +<!DOCTYPE html> +<html> +<head> +<title>various_conditions.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"> let </span><span><span class="code even" style="--layer: 1" title="4:25-4:26: @0[1]: _1 = const 0_u32 +4:9-4:22: @0[2]: FakeRead(ForLet, _1)"><span class="annotation">@0⦊</span>mut countdown = 0<span class="annotation">⦉@0</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="5:8-5:12: @0[5]: _3 = const true +5:8-5:12: @0[6]: FakeRead(ForMatchedPlace, _3)"><span class="annotation">@0⦊</span>true<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="6:9-6:23: @3[0]: _1 = const 10_u32 +5:13-7:6: @3[1]: _2 = const ()"><span class="annotation">@1,3⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="6:9-6:23: @3[0]: _1 = const 10_u32 +5:13-7:6: @3[1]: _2 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="6:9-6:23: @3[0]: _1 = const 10_u32 +5:13-7:6: @3[1]: _2 = const ()"> }<span class="annotation">⦉@1,3</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"> const B: u32 = 100;</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="10:9-10:10: @25[0]: FakeRead(ForLet, _4)"><span class="annotation">@25⦊</span>x<span class="annotation">⦉@25</span></span></span><span class="code" style="--layer: 0"> = if </span><span><span class="code odd" style="--layer: 1" title="10:16-10:25: @4[5]: _6 = _1 +10:16-10:29: @4[6]: _5 = Gt(move _6, const 7_u32) +10:16-10:29: @4[8]: FakeRead(ForMatchedPlace, _5)"><span class="annotation">@4⦊</span>countdown > 7<span class="annotation">⦉@4</span></span></span><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="11:9-11:23: @7[0]: _7 = CheckedSub(_1, const 4_u32)"><span class="annotation">@5,7⦊</span>countdown -= 4<span class="annotation">⦉@5,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="code odd" style="--layer: 1" title="12:9-12:10: @8[1]: _4 = const B"><span class="annotation">@8⦊</span>B<span class="annotation">⦉@8</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="13:15-13:24: @6[2]: _9 = _1 +13:15-13:28: @6[3]: _8 = Gt(move _9, const 2_u32) +13:15-13:28: @6[5]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@6⦊</span>countdown > 2<span class="annotation">⦉@6</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 odd" style="--layer: 1" title="14:12-14:21: @11[5]: _14 = _1 +14:12-14:25: @11[6]: _13 = Lt(move _14, const 1_u32)"><span class="annotation">@9,11⦊</span>countdown < 1<span class="annotation">⦉@9,11</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="14:29-14:38: @18[2]: _16 = _1 +14:29-14:42: @18[3]: _15 = Gt(move _16, const 5_u32)"><span class="annotation">@18⦊</span>countdown > 5<span class="annotation">⦉@18</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="14:46-14:55: @14[2]: _18 = _1 +14:46-14:60: @14[3]: _17 = Ne(move _18, const 9_u32)"><span class="annotation">@14⦊</span>countdown != 9<span class="annotation">⦉@14</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="15:13-15:26: @22[0]: _1 = const 0_u32 +14:61-16:10: @22[1]: _10 = const ()"><span class="annotation">@20,22⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:13-15:26: @22[0]: _1 = const 0_u32 +14:61-16:10: @22[1]: _10 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="15:13-15:26: @22[0]: _1 = const 0_u32 +14:61-16:10: @22[1]: _10 = const ()"> }<span class="annotation">⦉@20,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="code odd" style="--layer: 1" title="17:9-17:23: @23[2]: _19 = CheckedSub(_1, const 5_u32)"><span class="annotation">@23⦊</span>countdown -= 5<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="code even" style="--layer: 1" title="18:9-18:18: @24[1]: _4 = _1"><span class="annotation">@24⦊</span>countdown<span class="annotation">⦉@24</span></span></span><span class="code" style="--layer: 0"></span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="20:9-20:15: @10[0]: _0 = const ()"><span class="annotation">@10⦊</span>return<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"></span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="23:25-23:26: @25[3]: _21 = const 0_i32 +23:9-23:22: @25[4]: FakeRead(ForLet, _21)"><span class="annotation">@25⦊</span>mut countdown = 0<span class="annotation">⦉@25</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="24:8-24:12: @25[7]: _23 = const true +24:8-24:12: @25[8]: FakeRead(ForMatchedPlace, _23)"><span class="annotation">@25⦊</span>true<span class="annotation">⦉@25</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="25:9-25:23: @28[0]: _21 = const 10_i32 +24:13-26:6: @28[1]: _22 = const ()"><span class="annotation">@26,28⦊</span>{</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="25:9-25:23: @28[0]: _21 = const 10_i32 +24:13-26:6: @28[1]: _22 = const ()"> countdown = 10;</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="25:9-25:23: @28[0]: _21 = const 10_i32 +24:13-26:6: @28[1]: _22 = const ()"> }<span class="annotation">⦉@26,28</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"> if </span><span><span class="code even" style="--layer: 1" title="28:8-28:17: @29[5]: _26 = _21 +28:8-28:21: @29[6]: _25 = Gt(move _26, const 7_i32) +28:8-28:21: @29[8]: FakeRead(ForMatchedPlace, _25)"><span class="annotation">@29⦊</span>countdown > 7<span class="annotation">⦉@29</span></span></span><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="29:9-29:23: @32[0]: _27 = CheckedSub(_21, const 4_i32)"><span class="annotation">@30,32⦊</span>countdown -= 4<span class="annotation">⦉@30,32</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="30:15-30:24: @31[2]: _29 = _21 +30:15-30:28: @31[3]: _28 = Gt(move _29, const 2_i32) +30:15-30:28: @31[5]: FakeRead(ForMatchedPlace, _28)"><span class="annotation">@31⦊</span>countdown > 2<span class="annotation">⦉@31</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 odd" style="--layer: 1" title="31:12-31:21: @36[5]: _34 = _21 +31:12-31:25: @36[6]: _33 = Lt(move _34, const 1_i32)"><span class="annotation">@34,36⦊</span>countdown < 1<span class="annotation">⦉@34,36</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="31:29-31:38: @43[2]: _36 = _21 +31:29-31:42: @43[3]: _35 = Gt(move _36, const 5_i32)"><span class="annotation">@43⦊</span>countdown > 5<span class="annotation">⦉@43</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="31:46-31:55: @39[2]: _38 = _21 +31:46-31:60: @39[3]: _37 = Ne(move _38, const 9_i32)"><span class="annotation">@39⦊</span>countdown != 9<span class="annotation">⦉@39</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="32:13-32:26: @47[0]: _21 = const 0_i32 +31:61-33:10: @47[1]: _30 = const ()"><span class="annotation">@45,47⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="32:13-32:26: @47[0]: _21 = const 0_i32 +31:61-33:10: @47[1]: _30 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="32:13-32:26: @47[0]: _21 = const 0_i32 +31:61-33:10: @47[1]: _30 = const ()"> }<span class="annotation">⦉@45,47</span></span></span><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="34:9-34:23: @48[2]: _39 = CheckedSub(_21, const 5_i32)"><span class="annotation">@48⦊</span>countdown -= 5<span class="annotation">⦉@48</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="36:9-36:15: @35[0]: _0 = const ()"><span class="annotation">@35⦊</span>return<span class="annotation">⦉@35</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="line"><span class="code" style="--layer: 0"> let </span><span><span class="code odd" style="--layer: 1" title="39:25-39:26: @50[3]: _41 = const 0_i32 +39:9-39:22: @50[4]: FakeRead(ForLet, _41)"><span class="annotation">@50⦊</span>mut countdown = 0<span class="annotation">⦉@50</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 odd" style="--layer: 1" title="40:8-40:12: @50[7]: _43 = const true +40:8-40:12: @50[8]: FakeRead(ForMatchedPlace, _43)"><span class="annotation">@50⦊</span>true<span class="annotation">⦉@50</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="41:9-41:22: @53[0]: _41 = const 1_i32 +40:13-42:6: @53[1]: _42 = const ()"><span class="annotation">@51,53⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="41:9-41:22: @53[0]: _41 = const 1_i32 +40:13-42:6: @53[1]: _42 = const ()"> countdown = 1;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="41:9-41:22: @53[0]: _41 = const 1_i32 +40:13-42:6: @53[1]: _42 = const ()"> }<span class="annotation">⦉@51,53</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="code odd" style="--layer: 1" title="44:9-44:10: @77[0]: FakeRead(ForLet, _44)"><span class="annotation">@77⦊</span>z<span class="annotation">⦉@77</span></span></span><span class="code" style="--layer: 0"> = if </span><span><span class="code even" style="--layer: 1" title="44:16-44:25: @54[5]: _46 = _41 +44:16-44:29: @54[6]: _45 = Gt(move _46, const 7_i32) +44:16-44:29: @54[8]: FakeRead(ForMatchedPlace, _45)"><span class="annotation">@54⦊</span>countdown > 7<span class="annotation">⦉@54</span></span></span><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="45:9-45:23: @57[0]: _47 = CheckedSub(_41, const 4_i32)"><span class="annotation">@55,57⦊</span>countdown -= 4<span class="annotation">⦉@55,57</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="46:15-46:24: @56[2]: _49 = _41 +46:15-46:28: @56[3]: _48 = Gt(move _49, const 2_i32) +46:15-46:28: @56[5]: FakeRead(ForMatchedPlace, _48)"><span class="annotation">@56⦊</span>countdown > 2<span class="annotation">⦉@56</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 odd" style="--layer: 1" title="47:12-47:21: @61[5]: _54 = _41 +47:12-47:25: @61[6]: _53 = Lt(move _54, const 1_i32)"><span class="annotation">@59,61⦊</span>countdown < 1<span class="annotation">⦉@59,61</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="47:29-47:38: @68[2]: _56 = _41 +47:29-47:42: @68[3]: _55 = Gt(move _56, const 5_i32)"><span class="annotation">@68⦊</span>countdown > 5<span class="annotation">⦉@68</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="47:46-47:55: @64[2]: _58 = _41 +47:46-47:60: @64[3]: _57 = Ne(move _58, const 9_i32)"><span class="annotation">@64⦊</span>countdown != 9<span class="annotation">⦉@64</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="48:13-48:26: @72[0]: _41 = const 0_i32 +47:61-49:10: @72[1]: _50 = const ()"><span class="annotation">@70,72⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="48:13-48:26: @72[0]: _41 = const 0_i32 +47:61-49:10: @72[1]: _50 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="48:13-48:26: @72[0]: _41 = const 0_i32 +47:61-49:10: @72[1]: _50 = const ()"> }<span class="annotation">⦉@70,72</span></span></span><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="50:9-50:23: @73[2]: _59 = CheckedSub(_41, const 5_i32)"><span class="annotation">@73⦊</span>countdown -= 5<span class="annotation">⦉@73</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="52:35-52:44: @60[1]: _61 = _41 +52:13-52:32: @60[2]: FakeRead(ForLet, _61) +53:18-53:27: @60[9]: _92 = const main::promoted[1] +53:18-53:27: @60[10]: _67 = &(*_92) +53:18-53:27: @60[11]: _66 = &(*_67) +53:18-53:27: @60[12]: _65 = move _66 as &[&str] (Pointer(Unsize)) +53:9-53:29: @60[18]: _73 = () +53:9-53:29: @60[19]: FakeRead(ForMatchedPlace, _73) +53:9-53:29: @60[20]: _91 = const main::promoted[0] +53:9-53:29: @60[21]: _71 = &(*_91) +53:9-53:29: @60[22]: _70 = &(*_71) +53:9-53:29: @60[23]: _69 = move _70 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -> [return: bb75, unwind: bb103] +53:9-53:29: @75.Call: _63 = _print(move _64) -> [return: bb76, unwind: bb103] +53:9-53:29: @76[5]: _62 = const () +54:9-54:15: @76[7]: _0 = const ()"><span class="annotation">@60,75,76⦊</span>should_be_reachable = countdown;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:35-52:44: @60[1]: _61 = _41 +52:13-52:32: @60[2]: FakeRead(ForLet, _61) +53:18-53:27: @60[9]: _92 = const main::promoted[1] +53:18-53:27: @60[10]: _67 = &(*_92) +53:18-53:27: @60[11]: _66 = &(*_67) +53:18-53:27: @60[12]: _65 = move _66 as &[&str] (Pointer(Unsize)) +53:9-53:29: @60[18]: _73 = () +53:9-53:29: @60[19]: FakeRead(ForMatchedPlace, _73) +53:9-53:29: @60[20]: _91 = const main::promoted[0] +53:9-53:29: @60[21]: _71 = &(*_91) +53:9-53:29: @60[22]: _70 = &(*_71) +53:9-53:29: @60[23]: _69 = move _70 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -> [return: bb75, unwind: bb103] +53:9-53:29: @75.Call: _63 = _print(move _64) -> [return: bb76, unwind: bb103] +53:9-53:29: @76[5]: _62 = const () +54:9-54:15: @76[7]: _0 = const ()"> println!("reached");</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="52:35-52:44: @60[1]: _61 = _41 +52:13-52:32: @60[2]: FakeRead(ForLet, _61) +53:18-53:27: @60[9]: _92 = const main::promoted[1] +53:18-53:27: @60[10]: _67 = &(*_92) +53:18-53:27: @60[11]: _66 = &(*_67) +53:18-53:27: @60[12]: _65 = move _66 as &[&str] (Pointer(Unsize)) +53:9-53:29: @60[18]: _73 = () +53:9-53:29: @60[19]: FakeRead(ForMatchedPlace, _73) +53:9-53:29: @60[20]: _91 = const main::promoted[0] +53:9-53:29: @60[21]: _71 = &(*_91) +53:9-53:29: @60[22]: _70 = &(*_71) +53:9-53:29: @60[23]: _69 = move _70 as &[std::fmt::ArgumentV1] (Pointer(Unsize)) +53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -> [return: bb75, unwind: bb103] +53:9-53:29: @75.Call: _63 = _print(move _64) -> [return: bb76, unwind: bb103] +53:9-53:29: @76[5]: _62 = const () +54:9-54:15: @76[7]: _0 = const ()"> return<span class="annotation">⦉@60,75,76</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="line"><span class="code" style="--layer: 0"> let </span><span><span class="code odd" style="--layer: 1" title="57:9-57:10: @98[0]: FakeRead(ForLet, _74)"><span class="annotation">@98⦊</span>w<span class="annotation">⦉@98</span></span></span><span class="code" style="--layer: 0"> = if </span><span><span class="code even" style="--layer: 1" title="57:16-57:25: @77[5]: _76 = _41 +57:16-57:29: @77[6]: _75 = Gt(move _76, const 7_i32) +57:16-57:29: @77[8]: FakeRead(ForMatchedPlace, _75)"><span class="annotation">@77⦊</span>countdown > 7<span class="annotation">⦉@77</span></span></span><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="58:9-58:23: @80[0]: _77 = CheckedSub(_41, const 4_i32)"><span class="annotation">@78,80⦊</span>countdown -= 4<span class="annotation">⦉@78,80</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else if </span><span><span class="code even" style="--layer: 1" title="59:15-59:24: @79[2]: _79 = _41 +59:15-59:28: @79[3]: _78 = Gt(move _79, const 2_i32) +59:15-59:28: @79[5]: FakeRead(ForMatchedPlace, _78)"><span class="annotation">@79⦊</span>countdown > 2<span class="annotation">⦉@79</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 odd" style="--layer: 1" title="60:12-60:21: @84[5]: _84 = _41 +60:12-60:25: @84[6]: _83 = Lt(move _84, const 1_i32)"><span class="annotation">@82,84⦊</span>countdown < 1<span class="annotation">⦉@82,84</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code even" style="--layer: 1" title="60:29-60:38: @91[2]: _86 = _41 +60:29-60:42: @91[3]: _85 = Gt(move _86, const 5_i32)"><span class="annotation">@91⦊</span>countdown > 5<span class="annotation">⦉@91</span></span></span><span class="code" style="--layer: 0"> || </span><span><span class="code odd" style="--layer: 1" title="60:46-60:55: @87[2]: _88 = _41 +60:46-60:60: @87[3]: _87 = Ne(move _88, const 9_i32)"><span class="annotation">@87⦊</span>countdown != 9<span class="annotation">⦉@87</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="61:13-61:26: @95[0]: _41 = const 0_i32 +60:61-62:10: @95[1]: _80 = const ()"><span class="annotation">@93,95⦊</span>{</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="61:13-61:26: @95[0]: _41 = const 0_i32 +60:61-62:10: @95[1]: _80 = const ()"> countdown = 0;</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="61:13-61:26: @95[0]: _41 = const 0_i32 +60:61-62:10: @95[1]: _80 = const ()"> }<span class="annotation">⦉@93,95</span></span></span><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="63:9-63:23: @96[2]: _89 = CheckedSub(_41, const 5_i32)"><span class="annotation">@96⦊</span>countdown -= 5<span class="annotation">⦉@96</span></span></span><span class="code" style="--layer: 0">;</span></span> +<span class="line"><span class="code" style="--layer: 0"> } else {</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="65:9-65:15: @83[0]: _0 = const ()"><span class="annotation">@83⦊</span>return<span class="annotation">⦉@83</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="67:2-67:2: @102.Return: return"><span class="annotation">@102⦊</span>‸<span class="annotation">⦉@102</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html new file mode 100644 index 00000000000..b96789a9219 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html> +<head> +<title>while_early_return.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 3"><span class="line"><span class="code" style="--layer: 0">fn main() -> Result<(),u8> {</span></span> +<span class="line"><span class="code" style="--layer: 0"> let </span><span><span class="code even" style="--layer: 1" title="5:25-5:27: @0[1]: _1 = const 10_i32 +5:9-5:22: @0[2]: FakeRead(ForLet, _1)"><span class="annotation">@0⦊</span>mut countdown = 10<span class="annotation">⦉@0</span></span></span><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="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"><span class="annotation">@1,2⦊</span>while</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"> countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"> ></span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="7:9-7:18: @2[2]: _5 = _1 +7:9-9:10: @2[3]: _4 = Gt(move _5, const 0_i32) +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace, _4)"> 0<span class="annotation">⦉@1,2</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"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="12:13-12:22: @5[3]: _8 = _1 +12:13-14:14: @5[4]: _7 = Lt(move _8, const 5_i32) +12:13-14:14: @5[6]: FakeRead(ForMatchedPlace, _7)"><span class="annotation">@3,5⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="12:13-12:22: @5[3]: _8 = _1 +12:13-14:14: @5[4]: _7 = Lt(move _8, const 5_i32) +12:13-14:14: @5[6]: FakeRead(ForMatchedPlace, _7)"> <</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="12:13-12:22: @5[3]: _8 = _1 +12:13-14:14: @5[4]: _7 = Lt(move _8, const 5_i32) +12:13-14:14: @5[6]: FakeRead(ForMatchedPlace, _7)"> 5<span class="annotation">⦉@3,5</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"> return</span></span> +<span class="line"><span class="code" style="--layer: 0"> if</span></span> +<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="18:21-18:30: @8[2]: _11 = _1 +18:21-20:22: @8[3]: _10 = Gt(move _11, const 8_i32) +18:21-20:22: @8[5]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@6,8⦊</span>countdown</span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="18:21-18:30: @8[2]: _11 = _1 +18:21-20:22: @8[3]: _10 = Gt(move _11, const 8_i32) +18:21-20:22: @8[5]: FakeRead(ForMatchedPlace, _10)"> ></span></span> +<span class="line"><span class="code odd" style="--layer: 1" title="18:21-18:30: @8[2]: _11 = _1 +18:21-20:22: @8[3]: _10 = Gt(move _11, const 8_i32) +18:21-20:22: @8[5]: FakeRead(ForMatchedPlace, _10)"> 8<span class="annotation">⦉@6,8</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="22:24-22:26: @11[1]: _12 = () +22:21-22:27: @11[2]: _0 = std::result::Result::<(), u8>::Ok(move _12)"><span class="annotation">@9,11⦊</span>Ok(())<span class="annotation">⦉@9,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"> else</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="26:21-26:27: @10[0]: _0 = std::result::Result::<(), u8>::Err(const 1_u8)"><span class="annotation">@10⦊</span>Err(1)<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"> ;</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="30:9-32:10: @7[3]: _13 = CheckedSub(_1, const 1_i32)"><span class="annotation">@7⦊</span>countdown</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @7[3]: _13 = CheckedSub(_1, const 1_i32)"> -=</span></span> +<span class="line"><span class="code even" style="--layer: 1" title="30:9-32:10: @7[3]: _13 = CheckedSub(_1, const 1_i32)"> 1<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="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="35:8-35:10: @4[4]: _15 = () +35:5-35:11: @4[5]: _0 = std::result::Result::<(), u8>::Ok(move _15)"><span class="annotation">@4⦊</span>Ok(())<span class="annotation">⦉@4</span></span></span><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="36:2-36:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div> +</body> +</html> diff --git a/src/test/run-make-fulldeps/coverage/closure.rs b/src/test/run-make-fulldeps/coverage/closure.rs new file mode 100644 index 00000000000..66bbbc55399 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/closure.rs @@ -0,0 +1,93 @@ +#![allow(unused_assignments, unused_variables)] + +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 is_false = ! is_true; + + let mut some_string = Some(String::from("the string content")); + println!( + "The string or alt: {}" + , + some_string + . + unwrap_or_else + ( + || + { + let mut countdown = 0; + if is_false { + countdown = 10; + } + "alt string 1".to_owned() + } + ) + ); + + some_string = Some(String::from("the string content")); + let + a + = + || + { + let mut countdown = 0; + if is_false { + countdown = 10; + } + "alt string 2".to_owned() + }; + println!( + "The string or alt: {}" + , + some_string + . + unwrap_or_else + ( + a + ) + ); + + some_string = None; + println!( + "The string or alt: {}" + , + some_string + . + unwrap_or_else + ( + || + { + let mut countdown = 0; + if is_false { + countdown = 10; + } + "alt string 3".to_owned() + } + ) + ); + + some_string = None; + let + a + = + || + { + let mut countdown = 0; + if is_false { + countdown = 10; + } + "alt string 4".to_owned() + }; + println!( + "The string or alt: {}" + , + some_string + . + unwrap_or_else + ( + a + ) + ); +} diff --git a/src/test/run-make-fulldeps/instrument-coverage/compiletest-ignore-dir b/src/test/run-make-fulldeps/coverage/compiletest-ignore-dir index d57f66a4489..abf8df8fdc9 100644 --- a/src/test/run-make-fulldeps/instrument-coverage/compiletest-ignore-dir +++ b/src/test/run-make-fulldeps/coverage/compiletest-ignore-dir @@ -1,3 +1,3 @@ # Directory "instrument-coverage" supports the tests at prefix ../instrument-coverage-* -# Use ./x.py [options] test src/test/run-make-fulldeps/instrument-coverage to run all related tests. \ No newline at end of file +# Use ./x.py [options] test src/test/run-make-fulldeps/instrument-coverage to run all related tests. diff --git a/src/test/run-make-fulldeps/instrument-coverage/coverage_tools.mk b/src/test/run-make-fulldeps/coverage/coverage_tools.mk index ad5f465c54f..ad5f465c54f 100644 --- a/src/test/run-make-fulldeps/instrument-coverage/coverage_tools.mk +++ b/src/test/run-make-fulldeps/coverage/coverage_tools.mk diff --git a/src/test/run-make-fulldeps/coverage/drop_trait.rs b/src/test/run-make-fulldeps/coverage/drop_trait.rs new file mode 100644 index 00000000000..d15bfc0f877 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/drop_trait.rs @@ -0,0 +1,33 @@ +#![allow(unused_assignments)] +// expect-exit-status-1 + +struct Firework { + strength: i32, +} + +impl Drop for Firework { + fn drop(&mut self) { + println!("BOOM times {}!!!", self.strength); + } +} + +fn main() -> Result<(),u8> { + let _firecracker = Firework { strength: 1 }; + + let _tnt = Firework { strength: 100 }; + + if true { + println!("Exiting with error..."); + return Err(1); + } + + let _ = Firework { strength: 1000 }; + + Ok(()) +} + +// Expected program output: +// Exiting with error... +// BOOM times 100!!! +// BOOM times 1!!! +// Error: 1 diff --git a/src/test/run-make-fulldeps/coverage/generics.rs b/src/test/run-make-fulldeps/coverage/generics.rs new file mode 100644 index 00000000000..f4e64026944 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/generics.rs @@ -0,0 +1,44 @@ +#![allow(unused_assignments)] +// expect-exit-status-1 + +struct Firework<T> where T: Copy + std::fmt::Display { + strength: T, +} + +impl<T> Firework<T> where T: Copy + std::fmt::Display { + #[inline(always)] + fn set_strength(&mut self, new_strength: T) { + self.strength = new_strength; + } +} + +impl<T> Drop for Firework<T> where T: Copy + std::fmt::Display { + #[inline(always)] + fn drop(&mut self) { + println!("BOOM times {}!!!", self.strength); + } +} + +fn main() -> Result<(),u8> { + let mut firecracker = Firework { strength: 1 }; + firecracker.set_strength(2); + + let mut tnt = Firework { strength: 100.1 }; + tnt.set_strength(200.1); + tnt.set_strength(300.3); + + if true { + println!("Exiting with error..."); + return Err(1); + } + + let _ = Firework { strength: 1000 }; + + Ok(()) +} + +// Expected program output: +// Exiting with error... +// BOOM times 100!!! +// BOOM times 1!!! +// Error: 1 diff --git a/src/test/run-make-fulldeps/coverage/if.rs b/src/test/run-make-fulldeps/coverage/if.rs new file mode 100644 index 00000000000..8ad5042ff7b --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/if.rs @@ -0,0 +1,28 @@ +#![allow(unused_assignments, unused_variables)] + +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 + ; + } +} diff --git a/src/test/run-make-fulldeps/coverage/if_else.rs b/src/test/run-make-fulldeps/coverage/if_else.rs new file mode 100644 index 00000000000..3ae4b7a7316 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/if_else.rs @@ -0,0 +1,40 @@ +#![allow(unused_assignments)] + +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 + ; + } + else // Note coverage region difference without semicolon + { + countdown + = + 100 + } + + if + is_true + { + countdown + = + 10 + ; + } + else + { + countdown + = + 100 + ; + } +} diff --git a/src/test/run-make-fulldeps/coverage/inner_items.rs b/src/test/run-make-fulldeps/coverage/inner_items.rs new file mode 100644 index 00000000000..66e76513e26 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/inner_items.rs @@ -0,0 +1,57 @@ +#![allow(unused_assignments, unused_variables)] + +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(); +} diff --git a/src/test/run-make-fulldeps/coverage/lazy_boolean.rs b/src/test/run-make-fulldeps/coverage/lazy_boolean.rs new file mode 100644 index 00000000000..1d83eb30dea --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/lazy_boolean.rs @@ -0,0 +1,43 @@ +#![allow(unused_assignments, unused_variables)] + +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 a, mut b, mut c) = (0, 0, 0); + if is_true { + a = 1; + b = 10; + c = 100; + } + let + somebool + = + a < b + || + b < c + ; + let + somebool + = + b < a + || + b < c + ; + let + somebool + = + a < b + && + b < c + ; + let + somebool + = + b < a + && + b < c + ; +} diff --git a/src/test/run-make-fulldeps/coverage/loop_break_value.rs b/src/test/run-make-fulldeps/coverage/loop_break_value.rs new file mode 100644 index 00000000000..ba66d136de1 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/loop_break_value.rs @@ -0,0 +1,13 @@ +#![allow(unused_assignments)] + +fn main() { + let result + = + loop + { + break + 10 + ; + } + ; +} diff --git a/src/test/run-make-fulldeps/coverage/simple_loop.rs b/src/test/run-make-fulldeps/coverage/simple_loop.rs new file mode 100644 index 00000000000..6f7f23475b8 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/simple_loop.rs @@ -0,0 +1,35 @@ +#![allow(unused_assignments)] + +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 + ; + } + + loop + { + if + countdown + == + 0 + { + break + ; + } + countdown + -= + 1 + ; + } +} diff --git a/src/test/run-make-fulldeps/coverage/simple_match.rs b/src/test/run-make-fulldeps/coverage/simple_match.rs new file mode 100644 index 00000000000..c9a24f7a9d3 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/simple_match.rs @@ -0,0 +1,43 @@ +#![allow(unused_assignments)] + +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 = 1; + if is_true { + countdown = 0; + } + + for + _ + in + 0..2 + { + let z + ; + match + countdown + { + x + if + x + < + 1 + => + { + z = countdown + ; + let y = countdown + ; + countdown = 10 + ; + } + _ + => + {} + } + } +} diff --git a/src/test/run-make-fulldeps/coverage/try_error_result.rs b/src/test/run-make-fulldeps/coverage/try_error_result.rs new file mode 100644 index 00000000000..3a8f30e0482 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/try_error_result.rs @@ -0,0 +1,35 @@ +#![allow(unused_assignments)] +// expect-exit-status-1 + +fn call(return_error: bool) -> Result<(),()> { + if return_error { + Err(()) + } else { + Ok(()) + } +} + +fn main() -> Result<(),()> { + let mut + countdown = 10 + ; + for + _ + in + 0..10 + { + countdown + -= 1 + ; + if + countdown < 5 + { + call(/*return_error=*/ true)?; + } + else + { + call(/*return_error=*/ false)?; + } + } + Ok(()) +} diff --git a/src/test/run-make-fulldeps/instrument-coverage/coverage_of_if_else.rs b/src/test/run-make-fulldeps/coverage/various_conditions.rs index 91741cf8f0d..da206e28f31 100644 --- a/src/test/run-make-fulldeps/instrument-coverage/coverage_of_if_else.rs +++ b/src/test/run-make-fulldeps/coverage/various_conditions.rs @@ -1,4 +1,4 @@ -#![allow(unused_assignments)] +#![allow(unused_assignments, unused_variables)] fn main() { let mut countdown = 0; @@ -6,16 +6,19 @@ fn main() { countdown = 10; } - if countdown > 7 { + const B: u32 = 100; + let x = if countdown > 7 { countdown -= 4; + B } else if countdown > 2 { if countdown < 1 || countdown > 5 || countdown != 9 { countdown = 0; } countdown -= 5; + countdown } else { return; - } + }; let mut countdown = 0; if true { @@ -35,10 +38,10 @@ fn main() { let mut countdown = 0; if true { - countdown = 10; + countdown = 1; } - if countdown > 7 { + let z = if countdown > 7 { countdown -= 4; } else if countdown > 2 { if countdown < 1 || countdown > 5 || countdown != 9 { @@ -46,6 +49,19 @@ fn main() { } countdown -= 5; } else { + let should_be_reachable = countdown; + println!("reached"); return; - } + }; + + let w = if countdown > 7 { + countdown -= 4; + } else if countdown > 2 { + if countdown < 1 || countdown > 5 || countdown != 9 { + countdown = 0; + } + countdown -= 5; + } else { + return; + }; } diff --git a/src/test/run-make-fulldeps/coverage/while_early_return.rs b/src/test/run-make-fulldeps/coverage/while_early_return.rs new file mode 100644 index 00000000000..14ba36238d6 --- /dev/null +++ b/src/test/run-make-fulldeps/coverage/while_early_return.rs @@ -0,0 +1,47 @@ +#![allow(unused_assignments)] +// expect-exit-status-1 + +fn main() -> Result<(),u8> { + let mut countdown = 10; + while + countdown + > + 0 + { + if + countdown + < + 5 + { + return + if + countdown + > + 8 + { + Ok(()) + } + else + { + Err(1) + } + ; + } + countdown + -= + 1 + ; + } + Ok(()) +} + +// ISSUE(77553): Originally, this test had `Err(1)` on line 22 (instead of `Ok(())`) and +// `std::process::exit(2)` on line 26 (instead of `Err(1)`); and this worked as expected on Linux +// and MacOS. But on Windows (MSVC, at least), the call to `std::process::exit()` exits the program +// without saving the InstrProf coverage counters. The use of `std::process:exit()` is not critical +// to the coverage test for early returns, but this is a limitation that should be fixed. +// +// FIXME(richkadel): Consider creating a new tests for coverage when calling `std::process::exit()`, +// move the `ISSUE` comment to that test, and implement a new test directive that supports skipping +// coverage tests when targeting specific platforms (at least skipping Windows, or MSVC if the +// problem exists on MSVC only). diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/typical_show_coverage.coverage_of_if_else.txt b/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/typical_show_coverage.coverage_of_if_else.txt deleted file mode 100644 index 87ce3b4048f..00000000000 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/typical_show_coverage.coverage_of_if_else.txt +++ /dev/null @@ -1,64 +0,0 @@ - 1| |#![allow(unused_assignments)] - 2| | - 3| |fn main() { - 4| | let mut countdown = 0; - 5| 2| if true { - ^1 - 6| 2| countdown = 10; - 7| 2| } - 8| | - 9| 2| if countdown > 7 { - ^1 - 10| 2| countdown -= 4; - ^1 - 11| 2| } else if countdown > 2 { - ^0 ^0 - 12| 0| if countdown < 1 || countdown > 5 || countdown != 9 { - 13| 0| countdown = 0; - 14| 0| } - 15| 0| countdown -= 5; - 16| 0| } else { - 17| 0| return; - 18| 0| } - 19| | - 20| | let mut countdown = 0; - 21| 2| if true { - ^1 - 22| 2| countdown = 10; - 23| 2| } - 24| | - 25| 2| if countdown > 7 { - ^1 - 26| 2| countdown -= 4; - ^1 - 27| 2| } else if countdown > 2 { - ^0 ^0 - 28| 0| if countdown < 1 || countdown > 5 || countdown != 9 { - 29| 0| countdown = 0; - 30| 0| } - 31| 0| countdown -= 5; - 32| 0| } else { - 33| 0| return; - 34| 0| } - 35| | - 36| | let mut countdown = 0; - 37| 2| if true { - ^1 - 38| 2| countdown = 10; - 39| 2| } - 40| | - 41| 2| if countdown > 7 { - ^1 - 42| 2| countdown -= 4; - ^1 - 43| 2| } else if countdown > 2 { - ^0 ^0 - 44| 0| if countdown < 1 || countdown > 5 || countdown != 9 { - 45| 0| countdown = 0; - 46| 0| } - 47| 0| countdown -= 5; - 48| 0| } else { - 49| 0| return; - 50| 0| } - 51| 1|} - diff --git a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/typical_show_coverage.coverage_of_if_else.txt b/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/typical_show_coverage.coverage_of_if_else.txt deleted file mode 100644 index 87ce3b4048f..00000000000 --- a/src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/typical_show_coverage.coverage_of_if_else.txt +++ /dev/null @@ -1,64 +0,0 @@ - 1| |#![allow(unused_assignments)] - 2| | - 3| |fn main() { - 4| | let mut countdown = 0; - 5| 2| if true { - ^1 - 6| 2| countdown = 10; - 7| 2| } - 8| | - 9| 2| if countdown > 7 { - ^1 - 10| 2| countdown -= 4; - ^1 - 11| 2| } else if countdown > 2 { - ^0 ^0 - 12| 0| if countdown < 1 || countdown > 5 || countdown != 9 { - 13| 0| countdown = 0; - 14| 0| } - 15| 0| countdown -= 5; - 16| 0| } else { - 17| 0| return; - 18| 0| } - 19| | - 20| | let mut countdown = 0; - 21| 2| if true { - ^1 - 22| 2| countdown = 10; - 23| 2| } - 24| | - 25| 2| if countdown > 7 { - ^1 - 26| 2| countdown -= 4; - ^1 - 27| 2| } else if countdown > 2 { - ^0 ^0 - 28| 0| if countdown < 1 || countdown > 5 || countdown != 9 { - 29| 0| countdown = 0; - 30| 0| } - 31| 0| countdown -= 5; - 32| 0| } else { - 33| 0| return; - 34| 0| } - 35| | - 36| | let mut countdown = 0; - 37| 2| if true { - ^1 - 38| 2| countdown = 10; - 39| 2| } - 40| | - 41| 2| if countdown > 7 { - ^1 - 42| 2| countdown -= 4; - ^1 - 43| 2| } else if countdown > 2 { - ^0 ^0 - 44| 0| if countdown < 1 || countdown > 5 || countdown != 9 { - 45| 0| countdown = 0; - 46| 0| } - 47| 0| countdown -= 5; - 48| 0| } else { - 49| 0| return; - 50| 0| } - 51| 1|} - diff --git a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html deleted file mode 100644 index fcb6afb2636..00000000000 --- a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html +++ /dev/null @@ -1,641 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <title>coverage_of_if_else - Code Regions</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"> let mut countdown = 0;</span></span> -<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb1: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: FalseEdge: falseEdge -> [real: bb3, imaginary: bb2]"><span class="annotation">1⦊</span></span></span><span class="code even" style="--layer: 2" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 6:9-6:23: Assign: _1 = const 10_i32 - 5:13-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"><span class="annotation">3⦊</span></span><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"><span class="annotation">2⦊</span>if </span><span class="code even" style="--layer: 4" title="bb0: ../instrument-coverage/coverage_of_if_else.rs:5:8: 5:12: - 4:9-4:22: StorageLive: StorageLive(_1) - 4:25-4:26: Assign: _1 = const 0_i32 - 4:9-4:22: FakeRead: FakeRead(ForLet, _1) - 5:5-7:6: StorageLive: StorageLive(_2) - 5:8-5:12: StorageLive: StorageLive(_3) - 5:8-5:12: Assign: _3 = const true - 5:8-5:12: FakeRead: FakeRead(ForMatchedPlace, _3) - 5:5-7:6: SwitchInt: switchInt(_3) -> [false: bb2, otherwise: bb1]"><span class="annotation">0⦊</span>true<span class="annotation">⦉0</span></span><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"> countdown = 10;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"> }<span class="annotation">⦉2</span></span><span class="code even" style="--layer: 2" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 6:9-6:23: Assign: _1 = const 10_i32 - 5:13-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"><span class="annotation">⦉3</span></span><span><span class="code even" style="--layer: 1" title="bb1: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: FalseEdge: falseEdge -> [real: bb3, imaginary: bb2]"><span class="annotation">⦉1</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="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 9:5-18:6: FalseEdge: falseEdge -> [real: bb7, imaginary: bb6]"><span class="annotation">5⦊</span></span></span><span class="code even" style="--layer: 2" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 10:9-10:23: Assign: _1 = move (_7.0: i32) - 9:22-11:6: Assign: _4 = const () - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">8⦊</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">24⦊</span>if </span><span class="code even" style="--layer: 4" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:9:8: 9:21: - 7:5-7:6: StorageDead: StorageDead(_3) - 7:5-7:6: StorageDead: StorageDead(_2) - 9:5-18:6: StorageLive: StorageLive(_4) - 9:8-9:21: StorageLive: StorageLive(_5) - 9:8-9:17: StorageLive: StorageLive(_6) - 9:8-9:17: Assign: _6 = _1 - 9:8-9:21: Assign: _5 = Gt(move _6, const 7_i32) - 9:20-9:21: StorageDead: StorageDead(_6) - 9:8-9:21: FakeRead: FakeRead(ForMatchedPlace, _5) - 9:5-18:6: SwitchInt: switchInt(_5) -> [false: bb6, otherwise: bb5]"><span class="annotation">4⦊</span>countdown > 7<span class="annotation">⦉4</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"> </span><span class="code odd" style="--layer: 4" title="bb7: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23: - 10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32) - 10:9-10:23: Assert: assert(!move (_7.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 4_i32) -> [success: bb8, unwind: bb78]"><span class="annotation">7⦊</span>countdown -= 4<span class="annotation">⦉7</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25">;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"> } else </span><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"><span class="annotation">9⦊</span>if </span><span class="code even" style="--layer: 5" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:11:15: 11:28: - 11:15-11:28: StorageLive: StorageLive(_8) - 11:15-11:24: StorageLive: StorageLive(_9) - 11:15-11:24: Assign: _9 = _1 - 11:15-11:28: Assign: _8 = Gt(move _9, const 2_i32) - 11:27-11:28: StorageDead: StorageDead(_9) - 11:15-11:28: FakeRead: FakeRead(ForMatchedPlace, _8) - 11:12-18:6: SwitchInt: switchInt(_8) -> [false: bb10, otherwise: bb9]"><span class="annotation">6⦊</span>countdown > 2<span class="annotation">⦉6</span></span><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> </span><span class="code odd" style="--layer: 5" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: FalseEdge: falseEdge -> [real: bb22, imaginary: bb21]"><span class="annotation">20⦊</span></span><span class="code even" style="--layer: 6" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 13:13-13:26: Assign: _1 = const 0_i32 - 12:61-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">22⦊</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">21⦊</span>if </span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:46-12:60: StorageLive: StorageLive(_17) - 12:46-12:55: StorageLive: StorageLive(_18) - 12:46-12:55: Assign: _18 = _1 - 12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32) - 12:59-12:60: StorageDead: StorageDead(_18) - 12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb13, otherwise: bb12]"><span class="annotation">14⦊</span></span><span class="code even" style="--layer: 9" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:9-14:10: StorageLive: StorageLive(_10) - 12:12-12:60: StorageLive: StorageLive(_11) - 12:12-12:42: StorageLive: StorageLive(_12) - 12:12-12:25: StorageLive: StorageLive(_13) - 12:12-12:21: StorageLive: StorageLive(_14) - 12:12-12:21: Assign: _14 = _1 - 12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32) - 12:24-12:25: StorageDead: StorageDead(_14) - 12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb18, otherwise: bb16]"><span class="annotation">11⦊</span></span><span class="code even" style="--layer: 10" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const false - 12:12-12:60: Goto: goto -> bb15"><span class="annotation">13⦊</span></span><span class="code even" style="--layer: 11" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:41-12:42: StorageDead: StorageDead(_15) - 12:41-12:42: StorageDead: StorageDead(_13) - 12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb14, otherwise: bb12]"><span class="annotation">19⦊</span></span><span class="code even" style="--layer: 12" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:59-12:60: StorageDead: StorageDead(_17) - 12:59-12:60: StorageDead: StorageDead(_12) - 12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11) - 12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb21, otherwise: bb20]"><span class="annotation">15⦊</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const true - 12:12-12:60: Goto: goto -> bb15"><span class="annotation">12⦊</span></span><span class="code even" style="--layer: 14" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const true - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">16⦊</span></span><span class="code even" style="--layer: 15" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const false - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">17⦊</span></span><span class="code even" style="--layer: 16" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:29-12:42: StorageLive: StorageLive(_15) - 12:29-12:38: StorageLive: StorageLive(_16) - 12:29-12:38: Assign: _16 = _1 - 12:29-12:42: Assign: _15 = Gt(move _16, const 5_i32) - 12:41-12:42: StorageDead: StorageDead(_16) - 12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb17, otherwise: bb16]"><span class="annotation">18⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉18</span></span><span class="code even" style="--layer: 15" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const false - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">⦉17</span></span><span class="code even" style="--layer: 14" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const true - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">⦉16</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const true - 12:12-12:60: Goto: goto -> bb15"> || countdown != 9<span class="annotation">⦉12</span></span><span class="code even" style="--layer: 12" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:59-12:60: StorageDead: StorageDead(_17) - 12:59-12:60: StorageDead: StorageDead(_12) - 12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11) - 12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb21, otherwise: bb20]"><span class="annotation">⦉15</span></span><span class="code even" style="--layer: 11" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:41-12:42: StorageDead: StorageDead(_15) - 12:41-12:42: StorageDead: StorageDead(_13) - 12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb14, otherwise: bb12]"><span class="annotation">⦉19</span></span><span class="code even" style="--layer: 10" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const false - 12:12-12:60: Goto: goto -> bb15"><span class="annotation">⦉13</span></span><span class="code even" style="--layer: 9" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:9-14:10: StorageLive: StorageLive(_10) - 12:12-12:60: StorageLive: StorageLive(_11) - 12:12-12:42: StorageLive: StorageLive(_12) - 12:12-12:25: StorageLive: StorageLive(_13) - 12:12-12:21: StorageLive: StorageLive(_14) - 12:12-12:21: Assign: _14 = _1 - 12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32) - 12:24-12:25: StorageDead: StorageDead(_14) - 12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb18, otherwise: bb16]"><span class="annotation">⦉11</span></span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:46-12:60: StorageLive: StorageLive(_17) - 12:46-12:55: StorageLive: StorageLive(_18) - 12:46-12:55: Assign: _18 = _1 - 12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32) - 12:59-12:60: StorageDead: StorageDead(_18) - 12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb13, otherwise: bb12]"><span class="annotation">⦉14</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"> {</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"> countdown = 0;</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"> </span><span class="code odd" style="--layer: 8" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: - 14:9-14:10: StorageDead: StorageDead(_11) - 14:9-14:10: StorageDead: StorageDead(_10) - 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) - 15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 5_i32) -> [success: bb24, unwind: bb78]"><span class="annotation">23⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: FalseEdge: falseEdge -> [real: bb22, imaginary: bb21]"><span class="annotation">⦉20</span></span><span class="code even" style="--layer: 6" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 13:13-13:26: Assign: _1 = const 0_i32 - 12:61-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">⦉21</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">⦉21</span></span><span class="code odd" style="--layer: 8" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: - 14:9-14:10: StorageDead: StorageDead(_11) - 14:9-14:10: StorageDead: StorageDead(_10) - 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) - 15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 5_i32) -> [success: bb24, unwind: bb78]"></span></span> -<span class="line"><span class="code odd" style="--layer: 8" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: - 14:9-14:10: StorageDead: StorageDead(_11) - 14:9-14:10: StorageDead: StorageDead(_10) - 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) - 15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 5_i32) -> [success: bb24, unwind: bb78]"> countdown -= 5<span class="annotation">⦉23</span></span><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]">;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> } else {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> return;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> }<span class="annotation">⦉9</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">⦉24</span></span><span class="code even" style="--layer: 2" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 10:9-10:23: Assign: _1 = move (_7.0: i32) - 9:22-11:6: Assign: _4 = const () - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">⦉8</span></span><span><span class="code odd" style="--layer: 1" title="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 9:5-18:6: FalseEdge: falseEdge -> [real: bb7, imaginary: bb6]"><span class="annotation">⦉5</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 mut countdown = 0;</span></span> -<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">27⦊</span></span></span><span class="code even" style="--layer: 2" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 22:9-22:23: Assign: _21 = const 10_i32 - 21:13-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">28⦊</span></span><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"><span class="annotation">26⦊</span>if </span><span class="code even" style="--layer: 4" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:21:8: 21:12: - 18:5-18:6: StorageDead: StorageDead(_5) - 18:5-18:6: StorageDead: StorageDead(_4) - 20:9-20:22: StorageLive: StorageLive(_21) - 20:25-20:26: Assign: _21 = const 0_i32 - 20:9-20:22: FakeRead: FakeRead(ForLet, _21) - 21:5-23:6: StorageLive: StorageLive(_22) - 21:8-21:12: StorageLive: StorageLive(_23) - 21:8-21:12: Assign: _23 = const true - 21:8-21:12: FakeRead: FakeRead(ForMatchedPlace, _23) - 21:5-23:6: SwitchInt: switchInt(_23) -> [false: bb27, otherwise: bb26]"><span class="annotation">25⦊</span>true<span class="annotation">⦉25</span></span><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"> countdown = 10;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"> }<span class="annotation">⦉26</span></span><span class="code even" style="--layer: 2" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 22:9-22:23: Assign: _21 = const 10_i32 - 21:13-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">⦉28</span></span><span><span class="code even" style="--layer: 1" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">⦉27</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="bb49: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 31:9-31:23: Assign: _21 = move (_39.0: i32) - 27:29-32:6: Assign: _24 = const () - 34:5-34:6: StorageDead: StorageDead(_28) - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">49⦊</span></span></span><span class="code even" style="--layer: 2" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 26:9-26:23: Assign: _21 = move (_27.0: i32) - 25:22-27:6: Assign: _24 = const () - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">33⦊</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"><span class="annotation">30⦊</span>if </span><span class="code even" style="--layer: 4" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:25:8: 25:21: - 23:5-23:6: StorageDead: StorageDead(_23) - 23:5-23:6: StorageDead: StorageDead(_22) - 25:5-34:6: StorageLive: StorageLive(_24) - 25:8-25:21: StorageLive: StorageLive(_25) - 25:8-25:17: StorageLive: StorageLive(_26) - 25:8-25:17: Assign: _26 = _21 - 25:8-25:21: Assign: _25 = Gt(move _26, const 7_i32) - 25:20-25:21: StorageDead: StorageDead(_26) - 25:8-25:21: FakeRead: FakeRead(ForMatchedPlace, _25) - 25:5-34:6: SwitchInt: switchInt(_25) -> [false: bb31, otherwise: bb30]"><span class="annotation">29⦊</span>countdown > 7<span class="annotation">⦉29</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"> </span><span class="code odd" style="--layer: 4" title="bb32: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23: - 26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32) - 26:9-26:23: Assert: assert(!move (_27.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 4_i32) -> [success: bb33, unwind: bb78]"><span class="annotation">32⦊</span>countdown -= 4<span class="annotation">⦉32</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]">;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"> } else </span><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"><span class="annotation">34⦊</span>if </span><span class="code even" style="--layer: 5" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:27:15: 27:28: - 27:15-27:28: StorageLive: StorageLive(_28) - 27:15-27:24: StorageLive: StorageLive(_29) - 27:15-27:24: Assign: _29 = _21 - 27:15-27:28: Assign: _28 = Gt(move _29, const 2_i32) - 27:27-27:28: StorageDead: StorageDead(_29) - 27:15-27:28: FakeRead: FakeRead(ForMatchedPlace, _28) - 27:12-34:6: SwitchInt: switchInt(_28) -> [false: bb35, otherwise: bb34]"><span class="annotation">31⦊</span>countdown > 2<span class="annotation">⦉31</span></span><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> </span><span class="code odd" style="--layer: 5" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">46⦊</span></span><span class="code even" style="--layer: 6" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 29:13-29:26: Assign: _21 = const 0_i32 - 28:61-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">47⦊</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"><span class="annotation">45⦊</span>if </span><span class="code even" style="--layer: 8" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:41-28:42: StorageDead: StorageDead(_35) - 28:41-28:42: StorageDead: StorageDead(_33) - 28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb39, otherwise: bb37]"><span class="annotation">44⦊</span></span><span class="code even" style="--layer: 9" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const false - 28:12-28:60: Goto: goto -> bb40"><span class="annotation">38⦊</span></span><span class="code even" style="--layer: 10" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:46-28:60: StorageLive: StorageLive(_37) - 28:46-28:55: StorageLive: StorageLive(_38) - 28:46-28:55: Assign: _38 = _21 - 28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32) - 28:59-28:60: StorageDead: StorageDead(_38) - 28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb38, otherwise: bb37]"><span class="annotation">39⦊</span></span><span class="code even" style="--layer: 11" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:59-28:60: StorageDead: StorageDead(_37) - 28:59-28:60: StorageDead: StorageDead(_32) - 28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31) - 28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb46, otherwise: bb45]"><span class="annotation">40⦊</span></span><span class="code even" style="--layer: 12" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:9-30:10: StorageLive: StorageLive(_30) - 28:12-28:60: StorageLive: StorageLive(_31) - 28:12-28:42: StorageLive: StorageLive(_32) - 28:12-28:25: StorageLive: StorageLive(_33) - 28:12-28:21: StorageLive: StorageLive(_34) - 28:12-28:21: Assign: _34 = _21 - 28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32) - 28:24-28:25: StorageDead: StorageDead(_34) - 28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb43, otherwise: bb41]"><span class="annotation">36⦊</span></span><span class="code even" style="--layer: 13" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const true - 28:12-28:60: Goto: goto -> bb40"><span class="annotation">37⦊</span></span><span class="code even" style="--layer: 14" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const true - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">41⦊</span></span><span class="code even" style="--layer: 15" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const false - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">42⦊</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:29-28:42: StorageLive: StorageLive(_35) - 28:29-28:38: StorageLive: StorageLive(_36) - 28:29-28:38: Assign: _36 = _21 - 28:29-28:42: Assign: _35 = Gt(move _36, const 5_i32) - 28:41-28:42: StorageDead: StorageDead(_36) - 28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb42, otherwise: bb41]"><span class="annotation">43⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉43</span></span><span class="code even" style="--layer: 15" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const false - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">⦉42</span></span><span class="code even" style="--layer: 14" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const true - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">⦉41</span></span><span class="code even" style="--layer: 13" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const true - 28:12-28:60: Goto: goto -> bb40"> || countdown != 9<span class="annotation">⦉37</span></span><span class="code even" style="--layer: 12" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:9-30:10: StorageLive: StorageLive(_30) - 28:12-28:60: StorageLive: StorageLive(_31) - 28:12-28:42: StorageLive: StorageLive(_32) - 28:12-28:25: StorageLive: StorageLive(_33) - 28:12-28:21: StorageLive: StorageLive(_34) - 28:12-28:21: Assign: _34 = _21 - 28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32) - 28:24-28:25: StorageDead: StorageDead(_34) - 28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb43, otherwise: bb41]"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 11" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:59-28:60: StorageDead: StorageDead(_37) - 28:59-28:60: StorageDead: StorageDead(_32) - 28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31) - 28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb46, otherwise: bb45]"><span class="annotation">⦉40</span></span><span class="code even" style="--layer: 10" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:46-28:60: StorageLive: StorageLive(_37) - 28:46-28:55: StorageLive: StorageLive(_38) - 28:46-28:55: Assign: _38 = _21 - 28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32) - 28:59-28:60: StorageDead: StorageDead(_38) - 28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb38, otherwise: bb37]"><span class="annotation">⦉39</span></span><span class="code even" style="--layer: 9" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const false - 28:12-28:60: Goto: goto -> bb40"><span class="annotation">⦉38</span></span><span class="code even" style="--layer: 8" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:41-28:42: StorageDead: StorageDead(_35) - 28:41-28:42: StorageDead: StorageDead(_33) - 28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb39, otherwise: bb37]"><span class="annotation">⦉44</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"> countdown = 0;</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"> </span><span class="code odd" style="--layer: 8" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: - 30:9-30:10: StorageDead: StorageDead(_31) - 30:9-30:10: StorageDead: StorageDead(_30) - 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) - 31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 5_i32) -> [success: bb49, unwind: bb78]"><span class="annotation">48⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">⦉46</span></span><span class="code even" style="--layer: 6" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 29:13-29:26: Assign: _21 = const 0_i32 - 28:61-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">⦉47</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"><span class="annotation">⦉45</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"><span class="annotation">⦉45</span></span><span class="code odd" style="--layer: 8" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: - 30:9-30:10: StorageDead: StorageDead(_31) - 30:9-30:10: StorageDead: StorageDead(_30) - 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) - 31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 5_i32) -> [success: bb49, unwind: bb78]"></span></span> -<span class="line"><span class="code odd" style="--layer: 8" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: - 30:9-30:10: StorageDead: StorageDead(_31) - 30:9-30:10: StorageDead: StorageDead(_30) - 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) - 31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 5_i32) -> [success: bb49, unwind: bb78]"> countdown -= 5<span class="annotation">⦉48</span></span><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]">;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> } else {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> return;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> }<span class="annotation">⦉34</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"><span class="annotation">⦉30</span></span><span class="code even" style="--layer: 2" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 26:9-26:23: Assign: _21 = move (_27.0: i32) - 25:22-27:6: Assign: _24 = const () - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">⦉33</span></span><span><span class="code odd" style="--layer: 1" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 31:9-31:23: Assign: _21 = move (_39.0: i32) - 27:29-32:6: Assign: _24 = const () - 34:5-34:6: StorageDead: StorageDead(_28) - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">⦉49</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 mut countdown = 0;</span></span> -<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"><span class="annotation">52⦊</span></span></span><span class="code even" style="--layer: 2" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: FalseEdge: falseEdge -> [real: bb53, imaginary: bb52]"><span class="annotation">51⦊</span></span><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"><span class="annotation">53⦊</span>if </span><span class="code even" style="--layer: 4" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:37:8: 37:12: - 34:5-34:6: StorageDead: StorageDead(_25) - 34:5-34:6: StorageDead: StorageDead(_24) - 36:9-36:22: StorageLive: StorageLive(_41) - 36:25-36:26: Assign: _41 = const 0_i32 - 36:9-36:22: FakeRead: FakeRead(ForLet, _41) - 37:5-39:6: StorageLive: StorageLive(_42) - 37:8-37:12: StorageLive: StorageLive(_43) - 37:8-37:12: Assign: _43 = const true - 37:8-37:12: FakeRead: FakeRead(ForMatchedPlace, _43) - 37:5-39:6: SwitchInt: switchInt(_43) -> [false: bb52, otherwise: bb51]"><span class="annotation">50⦊</span>true<span class="annotation">⦉50</span></span><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"> countdown = 10;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"> }<span class="annotation">⦉53</span></span><span class="code even" style="--layer: 2" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: FalseEdge: falseEdge -> [real: bb53, imaginary: bb52]"><span class="annotation">⦉51</span></span><span><span class="code even" style="--layer: 1" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"><span class="annotation">⦉52</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="bb74: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 47:9-47:23: Assign: _41 = move (_58.0: i32) - 43:29-48:6: Assign: _0 = const () - 50:5-50:6: StorageDead: StorageDead(_47) - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">74⦊</span></span></span><span class="code even" style="--layer: 2" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 41:5-50:6: FalseEdge: falseEdge -> [real: bb57, imaginary: bb56]"><span class="annotation">55⦊</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">58⦊</span>if </span><span class="code even" style="--layer: 4" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:41:8: 41:21: - 39:5-39:6: StorageDead: StorageDead(_43) - 39:5-39:6: StorageDead: StorageDead(_42) - 41:8-41:21: StorageLive: StorageLive(_44) - 41:8-41:17: StorageLive: StorageLive(_45) - 41:8-41:17: Assign: _45 = _41 - 41:8-41:21: Assign: _44 = Gt(move _45, const 7_i32) - 41:20-41:21: StorageDead: StorageDead(_45) - 41:8-41:21: FakeRead: FakeRead(ForMatchedPlace, _44) - 41:5-50:6: SwitchInt: switchInt(_44) -> [false: bb56, otherwise: bb55]"><span class="annotation">54⦊</span>countdown > 7<span class="annotation">⦉54</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"> </span><span class="code odd" style="--layer: 4" title="bb57: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23: - 42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32) - 42:9-42:23: Assert: assert(!move (_46.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 4_i32) -> [success: bb58, unwind: bb78]"><span class="annotation">57⦊</span>countdown -= 4<span class="annotation">⦉57</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75">;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"> } else </span><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"><span class="annotation">59⦊</span>if </span><span class="code even" style="--layer: 5" title="bb56: ../instrument-coverage/coverage_of_if_else.rs:43:15: 43:28: - 43:15-43:28: StorageLive: StorageLive(_47) - 43:15-43:24: StorageLive: StorageLive(_48) - 43:15-43:24: Assign: _48 = _41 - 43:15-43:28: Assign: _47 = Gt(move _48, const 2_i32) - 43:27-43:28: StorageDead: StorageDead(_48) - 43:15-43:28: FakeRead: FakeRead(ForMatchedPlace, _47) - 43:12-50:6: SwitchInt: switchInt(_47) -> [false: bb60, otherwise: bb59]"><span class="annotation">56⦊</span>countdown > 2<span class="annotation">⦉56</span></span><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> </span><span class="code odd" style="--layer: 5" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">71⦊</span></span><span class="code even" style="--layer: 6" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 45:13-45:26: Assign: _41 = const 0_i32 - 44:61-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">72⦊</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"><span class="annotation">70⦊</span>if </span><span class="code even" style="--layer: 8" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const false - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">63⦊</span></span><span class="code even" style="--layer: 9" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:46-44:60: StorageLive: StorageLive(_56) - 44:46-44:55: StorageLive: StorageLive(_57) - 44:46-44:55: Assign: _57 = _41 - 44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32) - 44:59-44:60: StorageDead: StorageDead(_57) - 44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb63, otherwise: bb62]"><span class="annotation">64⦊</span></span><span class="code even" style="--layer: 10" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:59-44:60: StorageDead: StorageDead(_56) - 44:59-44:60: StorageDead: StorageDead(_51) - 44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50) - 44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb71, otherwise: bb70]"><span class="annotation">65⦊</span></span><span class="code even" style="--layer: 11" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const true - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">62⦊</span></span><span class="code even" style="--layer: 12" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:41-44:42: StorageDead: StorageDead(_54) - 44:41-44:42: StorageDead: StorageDead(_52) - 44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb64, otherwise: bb62]"><span class="annotation">69⦊</span></span><span class="code even" style="--layer: 13" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:9-46:10: StorageLive: StorageLive(_49) - 44:12-44:60: StorageLive: StorageLive(_50) - 44:12-44:42: StorageLive: StorageLive(_51) - 44:12-44:25: StorageLive: StorageLive(_52) - 44:12-44:21: StorageLive: StorageLive(_53) - 44:12-44:21: Assign: _53 = _41 - 44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32) - 44:24-44:25: StorageDead: StorageDead(_53) - 44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb68, otherwise: bb66]"><span class="annotation">61⦊</span></span><span class="code even" style="--layer: 14" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:12-44:42: Assign: _51 = const false - 44:12-44:42: Goto: goto -> bb69"><span class="annotation">67⦊</span></span><span class="code even" style="--layer: 15" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:29-44:42: StorageLive: StorageLive(_54) - 44:29-44:38: StorageLive: StorageLive(_55) - 44:29-44:38: Assign: _55 = _41 - 44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32) - 44:41-44:42: StorageDead: StorageDead(_55) - 44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb67, otherwise: bb66]"><span class="annotation">68⦊</span></span><span class="code even" style="--layer: 16" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:12-44:42: Assign: _51 = const true - 44:12-44:42: Goto: goto -> bb69"><span class="annotation">66⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉66</span></span><span class="code even" style="--layer: 15" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:29-44:42: StorageLive: StorageLive(_54) - 44:29-44:38: StorageLive: StorageLive(_55) - 44:29-44:38: Assign: _55 = _41 - 44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32) - 44:41-44:42: StorageDead: StorageDead(_55) - 44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb67, otherwise: bb66]"><span class="annotation">⦉68</span></span><span class="code even" style="--layer: 14" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:12-44:42: Assign: _51 = const false - 44:12-44:42: Goto: goto -> bb69"><span class="annotation">⦉67</span></span><span class="code even" style="--layer: 13" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:9-46:10: StorageLive: StorageLive(_49) - 44:12-44:60: StorageLive: StorageLive(_50) - 44:12-44:42: StorageLive: StorageLive(_51) - 44:12-44:25: StorageLive: StorageLive(_52) - 44:12-44:21: StorageLive: StorageLive(_53) - 44:12-44:21: Assign: _53 = _41 - 44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32) - 44:24-44:25: StorageDead: StorageDead(_53) - 44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb68, otherwise: bb66]"> || countdown != 9<span class="annotation">⦉61</span></span><span class="code even" style="--layer: 12" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:41-44:42: StorageDead: StorageDead(_54) - 44:41-44:42: StorageDead: StorageDead(_52) - 44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb64, otherwise: bb62]"><span class="annotation">⦉69</span></span><span class="code even" style="--layer: 11" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const true - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 10" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:59-44:60: StorageDead: StorageDead(_56) - 44:59-44:60: StorageDead: StorageDead(_51) - 44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50) - 44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb71, otherwise: bb70]"><span class="annotation">⦉65</span></span><span class="code even" style="--layer: 9" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:46-44:60: StorageLive: StorageLive(_56) - 44:46-44:55: StorageLive: StorageLive(_57) - 44:46-44:55: Assign: _57 = _41 - 44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32) - 44:59-44:60: StorageDead: StorageDead(_57) - 44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb63, otherwise: bb62]"><span class="annotation">⦉64</span></span><span class="code even" style="--layer: 8" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const false - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">⦉63</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"> countdown = 0;</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"> </span><span class="code odd" style="--layer: 8" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: - 46:9-46:10: StorageDead: StorageDead(_50) - 46:9-46:10: StorageDead: StorageDead(_49) - 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) - 47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 5_i32) -> [success: bb74, unwind: bb78]"><span class="annotation">73⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">⦉71</span></span><span class="code even" style="--layer: 6" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 45:13-45:26: Assign: _41 = const 0_i32 - 44:61-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">⦉72</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"><span class="annotation">⦉70</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"><span class="annotation">⦉70</span></span><span class="code odd" style="--layer: 8" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: - 46:9-46:10: StorageDead: StorageDead(_50) - 46:9-46:10: StorageDead: StorageDead(_49) - 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) - 47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 5_i32) -> [success: bb74, unwind: bb78]"></span></span> -<span class="line"><span class="code odd" style="--layer: 8" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: - 46:9-46:10: StorageDead: StorageDead(_50) - 46:9-46:10: StorageDead: StorageDead(_49) - 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) - 47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 5_i32) -> [success: bb74, unwind: bb78]"> countdown -= 5<span class="annotation">⦉73</span></span><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]">;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> } else {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> return;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> }<span class="annotation">⦉59</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">⦉58</span></span><span class="code even" style="--layer: 2" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 41:5-50:6: FalseEdge: falseEdge -> [real: bb57, imaginary: bb56]"><span class="annotation">⦉55</span></span><span><span class="code odd" style="--layer: 1" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 47:9-47:23: Assign: _41 = move (_58.0: i32) - 43:29-48:6: Assign: _0 = const () - 50:5-50:6: StorageDead: StorageDead(_47) - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">⦉74</span></span></span><span class="code" style="--layer: 0"></span></span> -<span class="line"><span><span class="code even" style="--layer: 1" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:51:1: 51:2: - 51:1-51:2: StorageDead: StorageDead(_41) - 51:1-51:2: StorageDead: StorageDead(_21) - 51:1-51:2: StorageDead: StorageDead(_1) - 51:1-51:2: StorageDead: StorageDead(_44) - 51:2-51:2: Goto: goto -> bb77"><span class="annotation">75⦊</span>}<span class="annotation">⦉75</span></span></span><span><span class="code odd" style="--layer: 1" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:51:2: 51:2: - 51:2-51:2: Return: return"><span class="annotation">77⦊</span>‸<span class="annotation">⦉77</span></span></span></span></div> -</body> -</html> diff --git a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-link-dead-code/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-link-dead-code/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html deleted file mode 100644 index fcb6afb2636..00000000000 --- a/src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-link-dead-code/expected_mir_dump.coverage_of_if_else/coverage_of_if_else.main.-------.InstrumentCoverage.0.html +++ /dev/null @@ -1,641 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <title>coverage_of_if_else - Code Regions</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"> let mut countdown = 0;</span></span> -<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb1: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: FalseEdge: falseEdge -> [real: bb3, imaginary: bb2]"><span class="annotation">1⦊</span></span></span><span class="code even" style="--layer: 2" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 6:9-6:23: Assign: _1 = const 10_i32 - 5:13-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"><span class="annotation">3⦊</span></span><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"><span class="annotation">2⦊</span>if </span><span class="code even" style="--layer: 4" title="bb0: ../instrument-coverage/coverage_of_if_else.rs:5:8: 5:12: - 4:9-4:22: StorageLive: StorageLive(_1) - 4:25-4:26: Assign: _1 = const 0_i32 - 4:9-4:22: FakeRead: FakeRead(ForLet, _1) - 5:5-7:6: StorageLive: StorageLive(_2) - 5:8-5:12: StorageLive: StorageLive(_3) - 5:8-5:12: Assign: _3 = const true - 5:8-5:12: FakeRead: FakeRead(ForMatchedPlace, _3) - 5:5-7:6: SwitchInt: switchInt(_3) -> [false: bb2, otherwise: bb1]"><span class="annotation">0⦊</span>true<span class="annotation">⦉0</span></span><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"> countdown = 10;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb2: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"> }<span class="annotation">⦉2</span></span><span class="code even" style="--layer: 2" title="bb3: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 6:9-6:23: Assign: _1 = const 10_i32 - 5:13-7:6: Assign: _2 = const () - 5:5-7:6: Goto: goto -> bb4"><span class="annotation">⦉3</span></span><span><span class="code even" style="--layer: 1" title="bb1: ../instrument-coverage/coverage_of_if_else.rs:5:5: 7:6: - 5:5-7:6: FalseEdge: falseEdge -> [real: bb3, imaginary: bb2]"><span class="annotation">⦉1</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="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 9:5-18:6: FalseEdge: falseEdge -> [real: bb7, imaginary: bb6]"><span class="annotation">5⦊</span></span></span><span class="code even" style="--layer: 2" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 10:9-10:23: Assign: _1 = move (_7.0: i32) - 9:22-11:6: Assign: _4 = const () - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">8⦊</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">24⦊</span>if </span><span class="code even" style="--layer: 4" title="bb4: ../instrument-coverage/coverage_of_if_else.rs:9:8: 9:21: - 7:5-7:6: StorageDead: StorageDead(_3) - 7:5-7:6: StorageDead: StorageDead(_2) - 9:5-18:6: StorageLive: StorageLive(_4) - 9:8-9:21: StorageLive: StorageLive(_5) - 9:8-9:17: StorageLive: StorageLive(_6) - 9:8-9:17: Assign: _6 = _1 - 9:8-9:21: Assign: _5 = Gt(move _6, const 7_i32) - 9:20-9:21: StorageDead: StorageDead(_6) - 9:8-9:21: FakeRead: FakeRead(ForMatchedPlace, _5) - 9:5-18:6: SwitchInt: switchInt(_5) -> [false: bb6, otherwise: bb5]"><span class="annotation">4⦊</span>countdown > 7<span class="annotation">⦉4</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"> </span><span class="code odd" style="--layer: 4" title="bb7: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23: - 10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32) - 10:9-10:23: Assert: assert(!move (_7.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 4_i32) -> [success: bb8, unwind: bb78]"><span class="annotation">7⦊</span>countdown -= 4<span class="annotation">⦉7</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25">;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"> } else </span><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"><span class="annotation">9⦊</span>if </span><span class="code even" style="--layer: 5" title="bb6: ../instrument-coverage/coverage_of_if_else.rs:11:15: 11:28: - 11:15-11:28: StorageLive: StorageLive(_8) - 11:15-11:24: StorageLive: StorageLive(_9) - 11:15-11:24: Assign: _9 = _1 - 11:15-11:28: Assign: _8 = Gt(move _9, const 2_i32) - 11:27-11:28: StorageDead: StorageDead(_9) - 11:15-11:28: FakeRead: FakeRead(ForMatchedPlace, _8) - 11:12-18:6: SwitchInt: switchInt(_8) -> [false: bb10, otherwise: bb9]"><span class="annotation">6⦊</span>countdown > 2<span class="annotation">⦉6</span></span><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> </span><span class="code odd" style="--layer: 5" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: FalseEdge: falseEdge -> [real: bb22, imaginary: bb21]"><span class="annotation">20⦊</span></span><span class="code even" style="--layer: 6" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 13:13-13:26: Assign: _1 = const 0_i32 - 12:61-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">22⦊</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">21⦊</span>if </span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:46-12:60: StorageLive: StorageLive(_17) - 12:46-12:55: StorageLive: StorageLive(_18) - 12:46-12:55: Assign: _18 = _1 - 12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32) - 12:59-12:60: StorageDead: StorageDead(_18) - 12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb13, otherwise: bb12]"><span class="annotation">14⦊</span></span><span class="code even" style="--layer: 9" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:9-14:10: StorageLive: StorageLive(_10) - 12:12-12:60: StorageLive: StorageLive(_11) - 12:12-12:42: StorageLive: StorageLive(_12) - 12:12-12:25: StorageLive: StorageLive(_13) - 12:12-12:21: StorageLive: StorageLive(_14) - 12:12-12:21: Assign: _14 = _1 - 12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32) - 12:24-12:25: StorageDead: StorageDead(_14) - 12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb18, otherwise: bb16]"><span class="annotation">11⦊</span></span><span class="code even" style="--layer: 10" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const false - 12:12-12:60: Goto: goto -> bb15"><span class="annotation">13⦊</span></span><span class="code even" style="--layer: 11" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:41-12:42: StorageDead: StorageDead(_15) - 12:41-12:42: StorageDead: StorageDead(_13) - 12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb14, otherwise: bb12]"><span class="annotation">19⦊</span></span><span class="code even" style="--layer: 12" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:59-12:60: StorageDead: StorageDead(_17) - 12:59-12:60: StorageDead: StorageDead(_12) - 12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11) - 12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb21, otherwise: bb20]"><span class="annotation">15⦊</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const true - 12:12-12:60: Goto: goto -> bb15"><span class="annotation">12⦊</span></span><span class="code even" style="--layer: 14" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const true - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">16⦊</span></span><span class="code even" style="--layer: 15" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const false - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">17⦊</span></span><span class="code even" style="--layer: 16" title="bb18: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:29-12:42: StorageLive: StorageLive(_15) - 12:29-12:38: StorageLive: StorageLive(_16) - 12:29-12:38: Assign: _16 = _1 - 12:29-12:42: Assign: _15 = Gt(move _16, const 5_i32) - 12:41-12:42: StorageDead: StorageDead(_16) - 12:12-12:42: SwitchInt: switchInt(move _15) -> [false: bb17, otherwise: bb16]"><span class="annotation">18⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉18</span></span><span class="code even" style="--layer: 15" title="bb17: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const false - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">⦉17</span></span><span class="code even" style="--layer: 14" title="bb16: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:42: - 12:12-12:42: Assign: _12 = const true - 12:12-12:42: Goto: goto -> bb19"><span class="annotation">⦉16</span></span><span class="code even" style="--layer: 13" title="bb12: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const true - 12:12-12:60: Goto: goto -> bb15"> || countdown != 9<span class="annotation">⦉12</span></span><span class="code even" style="--layer: 12" title="bb15: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:59-12:60: StorageDead: StorageDead(_17) - 12:59-12:60: StorageDead: StorageDead(_12) - 12:12-12:60: FakeRead: FakeRead(ForMatchedPlace, _11) - 12:9-14:10: SwitchInt: switchInt(_11) -> [false: bb21, otherwise: bb20]"><span class="annotation">⦉15</span></span><span class="code even" style="--layer: 11" title="bb19: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:41-12:42: StorageDead: StorageDead(_15) - 12:41-12:42: StorageDead: StorageDead(_13) - 12:12-12:60: SwitchInt: switchInt(move _12) -> [false: bb14, otherwise: bb12]"><span class="annotation">⦉19</span></span><span class="code even" style="--layer: 10" title="bb13: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:12-12:60: Assign: _11 = const false - 12:12-12:60: Goto: goto -> bb15"><span class="annotation">⦉13</span></span><span class="code even" style="--layer: 9" title="bb11: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:9-14:10: StorageLive: StorageLive(_10) - 12:12-12:60: StorageLive: StorageLive(_11) - 12:12-12:42: StorageLive: StorageLive(_12) - 12:12-12:25: StorageLive: StorageLive(_13) - 12:12-12:21: StorageLive: StorageLive(_14) - 12:12-12:21: Assign: _14 = _1 - 12:12-12:25: Assign: _13 = Lt(move _14, const 1_i32) - 12:24-12:25: StorageDead: StorageDead(_14) - 12:12-12:42: SwitchInt: switchInt(move _13) -> [false: bb18, otherwise: bb16]"><span class="annotation">⦉11</span></span><span class="code even" style="--layer: 8" title="bb14: ../instrument-coverage/coverage_of_if_else.rs:12:12: 12:60: - 12:46-12:60: StorageLive: StorageLive(_17) - 12:46-12:55: StorageLive: StorageLive(_18) - 12:46-12:55: Assign: _18 = _1 - 12:46-12:60: Assign: _17 = Ne(move _18, const 9_i32) - 12:59-12:60: StorageDead: StorageDead(_18) - 12:12-12:60: SwitchInt: switchInt(move _17) -> [false: bb13, otherwise: bb12]"><span class="annotation">⦉14</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"> {</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"> countdown = 0;</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"> </span><span class="code odd" style="--layer: 8" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: - 14:9-14:10: StorageDead: StorageDead(_11) - 14:9-14:10: StorageDead: StorageDead(_10) - 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) - 15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 5_i32) -> [success: bb24, unwind: bb78]"><span class="annotation">23⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb20: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: FalseEdge: falseEdge -> [real: bb22, imaginary: bb21]"><span class="annotation">⦉20</span></span><span class="code even" style="--layer: 6" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 13:13-13:26: Assign: _1 = const 0_i32 - 12:61-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">⦉21</span></span><span class="code even" style="--layer: 7" title="bb21: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: - 12:9-14:10: Assign: _10 = const () - 12:9-14:10: Goto: goto -> bb23"><span class="annotation">⦉21</span></span><span class="code odd" style="--layer: 8" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: - 14:9-14:10: StorageDead: StorageDead(_11) - 14:9-14:10: StorageDead: StorageDead(_10) - 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) - 15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 5_i32) -> [success: bb24, unwind: bb78]"></span></span> -<span class="line"><span class="code odd" style="--layer: 8" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: - 14:9-14:10: StorageDead: StorageDead(_11) - 14:9-14:10: StorageDead: StorageDead(_10) - 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) - 15:9-15:23: Assert: assert(!move (_19.1: bool), "attempt to compute `{} - {}`, which would overflow", _1, const 5_i32) -> [success: bb24, unwind: bb78]"> countdown -= 5<span class="annotation">⦉23</span></span><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]">;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> } else {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> return;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb9: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: - 11:12-18:6: FalseEdge: falseEdge -> [real: bb11, imaginary: bb10]"> }<span class="annotation">⦉9</span></span><span class="code even" style="--layer: 3" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 15:9-15:23: Assign: _1 = move (_19.0: i32) - 11:29-16:6: Assign: _4 = const () - 18:5-18:6: StorageDead: StorageDead(_8) - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">⦉24</span></span><span class="code even" style="--layer: 2" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 10:9-10:23: Assign: _1 = move (_7.0: i32) - 9:22-11:6: Assign: _4 = const () - 9:5-18:6: Goto: goto -> bb25"><span class="annotation">⦉8</span></span><span><span class="code odd" style="--layer: 1" title="bb5: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: - 9:5-18:6: FalseEdge: falseEdge -> [real: bb7, imaginary: bb6]"><span class="annotation">⦉5</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 mut countdown = 0;</span></span> -<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">27⦊</span></span></span><span class="code even" style="--layer: 2" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 22:9-22:23: Assign: _21 = const 10_i32 - 21:13-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">28⦊</span></span><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"><span class="annotation">26⦊</span>if </span><span class="code even" style="--layer: 4" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:21:8: 21:12: - 18:5-18:6: StorageDead: StorageDead(_5) - 18:5-18:6: StorageDead: StorageDead(_4) - 20:9-20:22: StorageLive: StorageLive(_21) - 20:25-20:26: Assign: _21 = const 0_i32 - 20:9-20:22: FakeRead: FakeRead(ForLet, _21) - 21:5-23:6: StorageLive: StorageLive(_22) - 21:8-21:12: StorageLive: StorageLive(_23) - 21:8-21:12: Assign: _23 = const true - 21:8-21:12: FakeRead: FakeRead(ForMatchedPlace, _23) - 21:5-23:6: SwitchInt: switchInt(_23) -> [false: bb27, otherwise: bb26]"><span class="annotation">25⦊</span>true<span class="annotation">⦉25</span></span><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"> countdown = 10;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb26: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: FalseEdge: falseEdge -> [real: bb28, imaginary: bb27]"> }<span class="annotation">⦉26</span></span><span class="code even" style="--layer: 2" title="bb28: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 22:9-22:23: Assign: _21 = const 10_i32 - 21:13-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">⦉28</span></span><span><span class="code even" style="--layer: 1" title="bb27: ../instrument-coverage/coverage_of_if_else.rs:21:5: 23:6: - 21:5-23:6: Assign: _22 = const () - 21:5-23:6: Goto: goto -> bb29"><span class="annotation">⦉27</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="bb49: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 31:9-31:23: Assign: _21 = move (_39.0: i32) - 27:29-32:6: Assign: _24 = const () - 34:5-34:6: StorageDead: StorageDead(_28) - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">49⦊</span></span></span><span class="code even" style="--layer: 2" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 26:9-26:23: Assign: _21 = move (_27.0: i32) - 25:22-27:6: Assign: _24 = const () - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">33⦊</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"><span class="annotation">30⦊</span>if </span><span class="code even" style="--layer: 4" title="bb29: ../instrument-coverage/coverage_of_if_else.rs:25:8: 25:21: - 23:5-23:6: StorageDead: StorageDead(_23) - 23:5-23:6: StorageDead: StorageDead(_22) - 25:5-34:6: StorageLive: StorageLive(_24) - 25:8-25:21: StorageLive: StorageLive(_25) - 25:8-25:17: StorageLive: StorageLive(_26) - 25:8-25:17: Assign: _26 = _21 - 25:8-25:21: Assign: _25 = Gt(move _26, const 7_i32) - 25:20-25:21: StorageDead: StorageDead(_26) - 25:8-25:21: FakeRead: FakeRead(ForMatchedPlace, _25) - 25:5-34:6: SwitchInt: switchInt(_25) -> [false: bb31, otherwise: bb30]"><span class="annotation">29⦊</span>countdown > 7<span class="annotation">⦉29</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"> </span><span class="code odd" style="--layer: 4" title="bb32: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23: - 26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32) - 26:9-26:23: Assert: assert(!move (_27.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 4_i32) -> [success: bb33, unwind: bb78]"><span class="annotation">32⦊</span>countdown -= 4<span class="annotation">⦉32</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]">;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"> } else </span><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"><span class="annotation">34⦊</span>if </span><span class="code even" style="--layer: 5" title="bb31: ../instrument-coverage/coverage_of_if_else.rs:27:15: 27:28: - 27:15-27:28: StorageLive: StorageLive(_28) - 27:15-27:24: StorageLive: StorageLive(_29) - 27:15-27:24: Assign: _29 = _21 - 27:15-27:28: Assign: _28 = Gt(move _29, const 2_i32) - 27:27-27:28: StorageDead: StorageDead(_29) - 27:15-27:28: FakeRead: FakeRead(ForMatchedPlace, _28) - 27:12-34:6: SwitchInt: switchInt(_28) -> [false: bb35, otherwise: bb34]"><span class="annotation">31⦊</span>countdown > 2<span class="annotation">⦉31</span></span><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> </span><span class="code odd" style="--layer: 5" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">46⦊</span></span><span class="code even" style="--layer: 6" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 29:13-29:26: Assign: _21 = const 0_i32 - 28:61-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">47⦊</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"><span class="annotation">45⦊</span>if </span><span class="code even" style="--layer: 8" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:41-28:42: StorageDead: StorageDead(_35) - 28:41-28:42: StorageDead: StorageDead(_33) - 28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb39, otherwise: bb37]"><span class="annotation">44⦊</span></span><span class="code even" style="--layer: 9" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const false - 28:12-28:60: Goto: goto -> bb40"><span class="annotation">38⦊</span></span><span class="code even" style="--layer: 10" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:46-28:60: StorageLive: StorageLive(_37) - 28:46-28:55: StorageLive: StorageLive(_38) - 28:46-28:55: Assign: _38 = _21 - 28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32) - 28:59-28:60: StorageDead: StorageDead(_38) - 28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb38, otherwise: bb37]"><span class="annotation">39⦊</span></span><span class="code even" style="--layer: 11" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:59-28:60: StorageDead: StorageDead(_37) - 28:59-28:60: StorageDead: StorageDead(_32) - 28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31) - 28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb46, otherwise: bb45]"><span class="annotation">40⦊</span></span><span class="code even" style="--layer: 12" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:9-30:10: StorageLive: StorageLive(_30) - 28:12-28:60: StorageLive: StorageLive(_31) - 28:12-28:42: StorageLive: StorageLive(_32) - 28:12-28:25: StorageLive: StorageLive(_33) - 28:12-28:21: StorageLive: StorageLive(_34) - 28:12-28:21: Assign: _34 = _21 - 28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32) - 28:24-28:25: StorageDead: StorageDead(_34) - 28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb43, otherwise: bb41]"><span class="annotation">36⦊</span></span><span class="code even" style="--layer: 13" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const true - 28:12-28:60: Goto: goto -> bb40"><span class="annotation">37⦊</span></span><span class="code even" style="--layer: 14" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const true - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">41⦊</span></span><span class="code even" style="--layer: 15" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const false - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">42⦊</span></span><span class="code even" style="--layer: 16" title="bb43: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:29-28:42: StorageLive: StorageLive(_35) - 28:29-28:38: StorageLive: StorageLive(_36) - 28:29-28:38: Assign: _36 = _21 - 28:29-28:42: Assign: _35 = Gt(move _36, const 5_i32) - 28:41-28:42: StorageDead: StorageDead(_36) - 28:12-28:42: SwitchInt: switchInt(move _35) -> [false: bb42, otherwise: bb41]"><span class="annotation">43⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉43</span></span><span class="code even" style="--layer: 15" title="bb42: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const false - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">⦉42</span></span><span class="code even" style="--layer: 14" title="bb41: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:42: - 28:12-28:42: Assign: _32 = const true - 28:12-28:42: Goto: goto -> bb44"><span class="annotation">⦉41</span></span><span class="code even" style="--layer: 13" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const true - 28:12-28:60: Goto: goto -> bb40"> || countdown != 9<span class="annotation">⦉37</span></span><span class="code even" style="--layer: 12" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:9-30:10: StorageLive: StorageLive(_30) - 28:12-28:60: StorageLive: StorageLive(_31) - 28:12-28:42: StorageLive: StorageLive(_32) - 28:12-28:25: StorageLive: StorageLive(_33) - 28:12-28:21: StorageLive: StorageLive(_34) - 28:12-28:21: Assign: _34 = _21 - 28:12-28:25: Assign: _33 = Lt(move _34, const 1_i32) - 28:24-28:25: StorageDead: StorageDead(_34) - 28:12-28:42: SwitchInt: switchInt(move _33) -> [false: bb43, otherwise: bb41]"><span class="annotation">⦉36</span></span><span class="code even" style="--layer: 11" title="bb40: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:59-28:60: StorageDead: StorageDead(_37) - 28:59-28:60: StorageDead: StorageDead(_32) - 28:12-28:60: FakeRead: FakeRead(ForMatchedPlace, _31) - 28:9-30:10: SwitchInt: switchInt(_31) -> [false: bb46, otherwise: bb45]"><span class="annotation">⦉40</span></span><span class="code even" style="--layer: 10" title="bb39: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:46-28:60: StorageLive: StorageLive(_37) - 28:46-28:55: StorageLive: StorageLive(_38) - 28:46-28:55: Assign: _38 = _21 - 28:46-28:60: Assign: _37 = Ne(move _38, const 9_i32) - 28:59-28:60: StorageDead: StorageDead(_38) - 28:12-28:60: SwitchInt: switchInt(move _37) -> [false: bb38, otherwise: bb37]"><span class="annotation">⦉39</span></span><span class="code even" style="--layer: 9" title="bb38: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:12-28:60: Assign: _31 = const false - 28:12-28:60: Goto: goto -> bb40"><span class="annotation">⦉38</span></span><span class="code even" style="--layer: 8" title="bb44: ../instrument-coverage/coverage_of_if_else.rs:28:12: 28:60: - 28:41-28:42: StorageDead: StorageDead(_35) - 28:41-28:42: StorageDead: StorageDead(_33) - 28:12-28:60: SwitchInt: switchInt(move _32) -> [false: bb39, otherwise: bb37]"><span class="annotation">⦉44</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"> countdown = 0;</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"> </span><span class="code odd" style="--layer: 8" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: - 30:9-30:10: StorageDead: StorageDead(_31) - 30:9-30:10: StorageDead: StorageDead(_30) - 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) - 31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 5_i32) -> [success: bb49, unwind: bb78]"><span class="annotation">48⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb46: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">⦉46</span></span><span class="code even" style="--layer: 6" title="bb47: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 29:13-29:26: Assign: _21 = const 0_i32 - 28:61-30:10: Assign: _30 = const () - 28:9-30:10: Goto: goto -> bb48"><span class="annotation">⦉47</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"><span class="annotation">⦉45</span></span><span class="code even" style="--layer: 7" title="bb45: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: - 28:9-30:10: FalseEdge: falseEdge -> [real: bb47, imaginary: bb46]"><span class="annotation">⦉45</span></span><span class="code odd" style="--layer: 8" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: - 30:9-30:10: StorageDead: StorageDead(_31) - 30:9-30:10: StorageDead: StorageDead(_30) - 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) - 31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 5_i32) -> [success: bb49, unwind: bb78]"></span></span> -<span class="line"><span class="code odd" style="--layer: 8" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: - 30:9-30:10: StorageDead: StorageDead(_31) - 30:9-30:10: StorageDead: StorageDead(_30) - 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) - 31:9-31:23: Assert: assert(!move (_39.1: bool), "attempt to compute `{} - {}`, which would overflow", _21, const 5_i32) -> [success: bb49, unwind: bb78]"> countdown -= 5<span class="annotation">⦉48</span></span><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]">;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> } else {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> return;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb34: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: - 27:12-34:6: FalseEdge: falseEdge -> [real: bb36, imaginary: bb35]"> }<span class="annotation">⦉34</span></span><span class="code even" style="--layer: 3" title="bb30: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 25:5-34:6: FalseEdge: falseEdge -> [real: bb32, imaginary: bb31]"><span class="annotation">⦉30</span></span><span class="code even" style="--layer: 2" title="bb33: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 26:9-26:23: Assign: _21 = move (_27.0: i32) - 25:22-27:6: Assign: _24 = const () - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">⦉33</span></span><span><span class="code odd" style="--layer: 1" title="bb49: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: - 31:9-31:23: Assign: _21 = move (_39.0: i32) - 27:29-32:6: Assign: _24 = const () - 34:5-34:6: StorageDead: StorageDead(_28) - 25:5-34:6: Goto: goto -> bb50"><span class="annotation">⦉49</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 mut countdown = 0;</span></span> -<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"><span class="annotation">52⦊</span></span></span><span class="code even" style="--layer: 2" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: FalseEdge: falseEdge -> [real: bb53, imaginary: bb52]"><span class="annotation">51⦊</span></span><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"><span class="annotation">53⦊</span>if </span><span class="code even" style="--layer: 4" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:37:8: 37:12: - 34:5-34:6: StorageDead: StorageDead(_25) - 34:5-34:6: StorageDead: StorageDead(_24) - 36:9-36:22: StorageLive: StorageLive(_41) - 36:25-36:26: Assign: _41 = const 0_i32 - 36:9-36:22: FakeRead: FakeRead(ForLet, _41) - 37:5-39:6: StorageLive: StorageLive(_42) - 37:8-37:12: StorageLive: StorageLive(_43) - 37:8-37:12: Assign: _43 = const true - 37:8-37:12: FakeRead: FakeRead(ForMatchedPlace, _43) - 37:5-39:6: SwitchInt: switchInt(_43) -> [false: bb52, otherwise: bb51]"><span class="annotation">50⦊</span>true<span class="annotation">⦉50</span></span><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"> countdown = 10;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb53: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 38:9-38:23: Assign: _41 = const 10_i32 - 37:13-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"> }<span class="annotation">⦉53</span></span><span class="code even" style="--layer: 2" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: FalseEdge: falseEdge -> [real: bb53, imaginary: bb52]"><span class="annotation">⦉51</span></span><span><span class="code even" style="--layer: 1" title="bb52: ../instrument-coverage/coverage_of_if_else.rs:37:5: 39:6: - 37:5-39:6: Assign: _42 = const () - 37:5-39:6: Goto: goto -> bb54"><span class="annotation">⦉52</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="bb74: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 47:9-47:23: Assign: _41 = move (_58.0: i32) - 43:29-48:6: Assign: _0 = const () - 50:5-50:6: StorageDead: StorageDead(_47) - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">74⦊</span></span></span><span class="code even" style="--layer: 2" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 41:5-50:6: FalseEdge: falseEdge -> [real: bb57, imaginary: bb56]"><span class="annotation">55⦊</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">58⦊</span>if </span><span class="code even" style="--layer: 4" title="bb54: ../instrument-coverage/coverage_of_if_else.rs:41:8: 41:21: - 39:5-39:6: StorageDead: StorageDead(_43) - 39:5-39:6: StorageDead: StorageDead(_42) - 41:8-41:21: StorageLive: StorageLive(_44) - 41:8-41:17: StorageLive: StorageLive(_45) - 41:8-41:17: Assign: _45 = _41 - 41:8-41:21: Assign: _44 = Gt(move _45, const 7_i32) - 41:20-41:21: StorageDead: StorageDead(_45) - 41:8-41:21: FakeRead: FakeRead(ForMatchedPlace, _44) - 41:5-50:6: SwitchInt: switchInt(_44) -> [false: bb56, otherwise: bb55]"><span class="annotation">54⦊</span>countdown > 7<span class="annotation">⦉54</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"> {</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"> </span><span class="code odd" style="--layer: 4" title="bb57: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23: - 42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32) - 42:9-42:23: Assert: assert(!move (_46.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 4_i32) -> [success: bb58, unwind: bb78]"><span class="annotation">57⦊</span>countdown -= 4<span class="annotation">⦉57</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75">;</span></span> -<span class="line"><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"> } else </span><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"><span class="annotation">59⦊</span>if </span><span class="code even" style="--layer: 5" title="bb56: ../instrument-coverage/coverage_of_if_else.rs:43:15: 43:28: - 43:15-43:28: StorageLive: StorageLive(_47) - 43:15-43:24: StorageLive: StorageLive(_48) - 43:15-43:24: Assign: _48 = _41 - 43:15-43:28: Assign: _47 = Gt(move _48, const 2_i32) - 43:27-43:28: StorageDead: StorageDead(_48) - 43:15-43:28: FakeRead: FakeRead(ForMatchedPlace, _47) - 43:12-50:6: SwitchInt: switchInt(_47) -> [false: bb60, otherwise: bb59]"><span class="annotation">56⦊</span>countdown > 2<span class="annotation">⦉56</span></span><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> </span><span class="code odd" style="--layer: 5" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">71⦊</span></span><span class="code even" style="--layer: 6" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 45:13-45:26: Assign: _41 = const 0_i32 - 44:61-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">72⦊</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"><span class="annotation">70⦊</span>if </span><span class="code even" style="--layer: 8" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const false - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">63⦊</span></span><span class="code even" style="--layer: 9" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:46-44:60: StorageLive: StorageLive(_56) - 44:46-44:55: StorageLive: StorageLive(_57) - 44:46-44:55: Assign: _57 = _41 - 44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32) - 44:59-44:60: StorageDead: StorageDead(_57) - 44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb63, otherwise: bb62]"><span class="annotation">64⦊</span></span><span class="code even" style="--layer: 10" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:59-44:60: StorageDead: StorageDead(_56) - 44:59-44:60: StorageDead: StorageDead(_51) - 44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50) - 44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb71, otherwise: bb70]"><span class="annotation">65⦊</span></span><span class="code even" style="--layer: 11" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const true - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">62⦊</span></span><span class="code even" style="--layer: 12" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:41-44:42: StorageDead: StorageDead(_54) - 44:41-44:42: StorageDead: StorageDead(_52) - 44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb64, otherwise: bb62]"><span class="annotation">69⦊</span></span><span class="code even" style="--layer: 13" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:9-46:10: StorageLive: StorageLive(_49) - 44:12-44:60: StorageLive: StorageLive(_50) - 44:12-44:42: StorageLive: StorageLive(_51) - 44:12-44:25: StorageLive: StorageLive(_52) - 44:12-44:21: StorageLive: StorageLive(_53) - 44:12-44:21: Assign: _53 = _41 - 44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32) - 44:24-44:25: StorageDead: StorageDead(_53) - 44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb68, otherwise: bb66]"><span class="annotation">61⦊</span></span><span class="code even" style="--layer: 14" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:12-44:42: Assign: _51 = const false - 44:12-44:42: Goto: goto -> bb69"><span class="annotation">67⦊</span></span><span class="code even" style="--layer: 15" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:29-44:42: StorageLive: StorageLive(_54) - 44:29-44:38: StorageLive: StorageLive(_55) - 44:29-44:38: Assign: _55 = _41 - 44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32) - 44:41-44:42: StorageDead: StorageDead(_55) - 44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb67, otherwise: bb66]"><span class="annotation">68⦊</span></span><span class="code even" style="--layer: 16" title="bb66: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:12-44:42: Assign: _51 = const true - 44:12-44:42: Goto: goto -> bb69"><span class="annotation">66⦊</span>countdown < 1 || countdown > 5<span class="annotation">⦉66</span></span><span class="code even" style="--layer: 15" title="bb68: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:29-44:42: StorageLive: StorageLive(_54) - 44:29-44:38: StorageLive: StorageLive(_55) - 44:29-44:38: Assign: _55 = _41 - 44:29-44:42: Assign: _54 = Gt(move _55, const 5_i32) - 44:41-44:42: StorageDead: StorageDead(_55) - 44:12-44:42: SwitchInt: switchInt(move _54) -> [false: bb67, otherwise: bb66]"><span class="annotation">⦉68</span></span><span class="code even" style="--layer: 14" title="bb67: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:42: - 44:12-44:42: Assign: _51 = const false - 44:12-44:42: Goto: goto -> bb69"><span class="annotation">⦉67</span></span><span class="code even" style="--layer: 13" title="bb61: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:9-46:10: StorageLive: StorageLive(_49) - 44:12-44:60: StorageLive: StorageLive(_50) - 44:12-44:42: StorageLive: StorageLive(_51) - 44:12-44:25: StorageLive: StorageLive(_52) - 44:12-44:21: StorageLive: StorageLive(_53) - 44:12-44:21: Assign: _53 = _41 - 44:12-44:25: Assign: _52 = Lt(move _53, const 1_i32) - 44:24-44:25: StorageDead: StorageDead(_53) - 44:12-44:42: SwitchInt: switchInt(move _52) -> [false: bb68, otherwise: bb66]"> || countdown != 9<span class="annotation">⦉61</span></span><span class="code even" style="--layer: 12" title="bb69: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:41-44:42: StorageDead: StorageDead(_54) - 44:41-44:42: StorageDead: StorageDead(_52) - 44:12-44:60: SwitchInt: switchInt(move _51) -> [false: bb64, otherwise: bb62]"><span class="annotation">⦉69</span></span><span class="code even" style="--layer: 11" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const true - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">⦉62</span></span><span class="code even" style="--layer: 10" title="bb65: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:59-44:60: StorageDead: StorageDead(_56) - 44:59-44:60: StorageDead: StorageDead(_51) - 44:12-44:60: FakeRead: FakeRead(ForMatchedPlace, _50) - 44:9-46:10: SwitchInt: switchInt(_50) -> [false: bb71, otherwise: bb70]"><span class="annotation">⦉65</span></span><span class="code even" style="--layer: 9" title="bb64: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:46-44:60: StorageLive: StorageLive(_56) - 44:46-44:55: StorageLive: StorageLive(_57) - 44:46-44:55: Assign: _57 = _41 - 44:46-44:60: Assign: _56 = Ne(move _57, const 9_i32) - 44:59-44:60: StorageDead: StorageDead(_57) - 44:12-44:60: SwitchInt: switchInt(move _56) -> [false: bb63, otherwise: bb62]"><span class="annotation">⦉64</span></span><span class="code even" style="--layer: 8" title="bb63: ../instrument-coverage/coverage_of_if_else.rs:44:12: 44:60: - 44:12-44:60: Assign: _50 = const false - 44:12-44:60: Goto: goto -> bb65"><span class="annotation">⦉63</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"> {</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"> countdown = 0;</span></span> -<span class="line"><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"> </span><span class="code odd" style="--layer: 8" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: - 46:9-46:10: StorageDead: StorageDead(_50) - 46:9-46:10: StorageDead: StorageDead(_49) - 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) - 47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 5_i32) -> [success: bb74, unwind: bb78]"><span class="annotation">73⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb71: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">⦉71</span></span><span class="code even" style="--layer: 6" title="bb72: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 45:13-45:26: Assign: _41 = const 0_i32 - 44:61-46:10: Assign: _49 = const () - 44:9-46:10: Goto: goto -> bb73"><span class="annotation">⦉72</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"><span class="annotation">⦉70</span></span><span class="code even" style="--layer: 7" title="bb70: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: - 44:9-46:10: FalseEdge: falseEdge -> [real: bb72, imaginary: bb71]"><span class="annotation">⦉70</span></span><span class="code odd" style="--layer: 8" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: - 46:9-46:10: StorageDead: StorageDead(_50) - 46:9-46:10: StorageDead: StorageDead(_49) - 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) - 47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 5_i32) -> [success: bb74, unwind: bb78]"></span></span> -<span class="line"><span class="code odd" style="--layer: 8" title="bb73: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: - 46:9-46:10: StorageDead: StorageDead(_50) - 46:9-46:10: StorageDead: StorageDead(_49) - 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) - 47:9-47:23: Assert: assert(!move (_58.1: bool), "attempt to compute `{} - {}`, which would overflow", _41, const 5_i32) -> [success: bb74, unwind: bb78]"> countdown -= 5<span class="annotation">⦉73</span></span><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]">;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> } else {</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> return;</span></span> -<span class="line"><span class="code even" style="--layer: 4" title="bb59: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: - 43:12-50:6: FalseEdge: falseEdge -> [real: bb61, imaginary: bb60]"> }<span class="annotation">⦉59</span></span><span class="code even" style="--layer: 3" title="bb58: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 42:9-42:23: Assign: _41 = move (_46.0: i32) - 41:22-43:6: Assign: _0 = const () - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">⦉58</span></span><span class="code even" style="--layer: 2" title="bb55: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 41:5-50:6: FalseEdge: falseEdge -> [real: bb57, imaginary: bb56]"><span class="annotation">⦉55</span></span><span><span class="code odd" style="--layer: 1" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: - 47:9-47:23: Assign: _41 = move (_58.0: i32) - 43:29-48:6: Assign: _0 = const () - 50:5-50:6: StorageDead: StorageDead(_47) - 41:5-50:6: Goto: goto -> bb75"><span class="annotation">⦉74</span></span></span><span class="code" style="--layer: 0"></span></span> -<span class="line"><span><span class="code even" style="--layer: 1" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:51:1: 51:2: - 51:1-51:2: StorageDead: StorageDead(_41) - 51:1-51:2: StorageDead: StorageDead(_21) - 51:1-51:2: StorageDead: StorageDead(_1) - 51:1-51:2: StorageDead: StorageDead(_44) - 51:2-51:2: Goto: goto -> bb77"><span class="annotation">75⦊</span>}<span class="annotation">⦉75</span></span></span><span><span class="code odd" style="--layer: 1" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:51:2: 51:2: - 51:2-51:2: Return: return"><span class="annotation">77⦊</span>‸<span class="annotation">⦉77</span></span></span></span></div> -</body> -</html> diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index acad316d807..d85558ea2f5 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -3199,8 +3199,18 @@ impl<'test> TestCx<'test> { from_file = format!("{}.{}.mir", test_name, first_pass); to_file = Some(second_file); } else { - expected_file = - format!("{}{}.mir", test_name.trim_end_matches(".mir"), bit_width); + let ext_re = Regex::new(r#"(\.(mir|dot|html))$"#).unwrap(); + let cap = ext_re + .captures_iter(test_name) + .next() + .expect("test_name has an invalid extension"); + let extension = cap.get(1).unwrap().as_str(); + expected_file = format!( + "{}{}{}", + test_name.trim_end_matches(extension), + bit_width, + extension, + ); from_file = test_name.to_string(); assert!( test_names.next().is_none(), diff --git a/src/tools/rust-demangler/Cargo.toml b/src/tools/rust-demangler/Cargo.toml index 0b8d974d255..c978bbe20e8 100644 --- a/src/tools/rust-demangler/Cargo.toml +++ b/src/tools/rust-demangler/Cargo.toml @@ -1,10 +1,11 @@ [package] authors = ["The Rust Project Developers"] name = "rust-demangler" -version = "0.0.0" +version = "0.0.1" edition = "2018" [dependencies] +regex = "1.0" rustc-demangle = "0.1" [[bin]] diff --git a/src/tools/rust-demangler/main.rs b/src/tools/rust-demangler/main.rs index a9f1011c450..e1e49230ad1 100644 --- a/src/tools/rust-demangler/main.rs +++ b/src/tools/rust-demangler/main.rs @@ -22,18 +22,51 @@ //! --instr-profile=main.profdata ./main --show-line-counts-or-regions //! ``` +use regex::Regex; use rustc_demangle::demangle; use std::io::{self, Read, Write}; +const REPLACE_COLONS: &str = "::"; + fn main() -> io::Result<()> { + let mut strip_crate_disambiguators = Some(Regex::new(r"\[[a-f0-9]{16}\]::").unwrap()); + + let mut args = std::env::args(); + let progname = args.next().unwrap(); + for arg in args { + if arg == "--disambiguators" || arg == "-d" { + strip_crate_disambiguators = None; + } else { + eprintln!(); + eprintln!("Usage: {} [-d|--disambiguators]", progname); + eprintln!(); + eprintln!( + "This tool converts a list of Rust mangled symbols (one per line) into a\n + corresponding list of demangled symbols." + ); + eprintln!(); + eprintln!( + "With -d (--disambiguators), Rust symbols mangled with the v0 symbol mangler may\n\ + include crate disambiguators (a 16 character hex value in square brackets).\n\ + Crate disambiguators are removed by default." + ); + eprintln!(); + std::process::exit(1) + } + } + let mut buffer = String::new(); io::stdin().read_to_string(&mut buffer)?; let lines = buffer.lines(); - let mut demangled = Vec::new(); + let mut demangled_lines = Vec::new(); for mangled in lines { - demangled.push(demangle(mangled).to_string()); + let mut demangled = demangle(mangled).to_string(); + if let Some(re) = &strip_crate_disambiguators { + demangled = re.replace_all(&demangled, REPLACE_COLONS).to_string(); + } + demangled_lines.push(demangled); } - demangled.push("".to_string()); - io::stdout().write_all(demangled.join("\n").as_bytes())?; + demangled_lines.push("".to_string()); + io::stdout().write_all(demangled_lines.join("\n").as_bytes())?; Ok(()) } |
