about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-10-05 19:34:44 +0000
committerbors <bors@rust-lang.org>2020-10-05 19:34:44 +0000
commita1dfd2490a6cb456b92e469fa550dc217e20ad6d (patch)
treed54841b8f697d8c9d1225c6bfcd6a7fd629af1f2 /src
parentea7e131435a960d154e9a5d6a9297039574ffd7d (diff)
parent6f627663a755fb1795a725c1b89d2d83be5096f9 (diff)
downloadrust-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')
-rw-r--r--src/test/mir-opt/graphviz.main.mir_map.0.dot5
-rw-r--r--src/test/mir-opt/graphviz.main.mir_map.0.dot.mir7
-rw-r--r--src/test/mir-opt/instrument_coverage.bar.InstrumentCoverage.diff2
-rw-r--r--src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff3
-rw-r--r--src/test/mir-opt/spanview_block.main.mir_map.0.html9
-rw-r--r--src/test/mir-opt/spanview_statement.main.mir_map.0.html11
-rw-r--r--src/test/mir-opt/spanview_terminator.main.mir_map.0.html11
-rw-r--r--src/test/run-make-fulldeps/coverage-llvmir-base/Makefile (renamed from src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/Makefile)6
-rw-r--r--src/test/run-make-fulldeps/coverage-llvmir-base/filecheck.testprog.txt (renamed from src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/filecheck.testprog.txt)0
-rw-r--r--src/test/run-make-fulldeps/coverage-llvmir-base/testprog.rs (renamed from src/test/run-make-fulldeps/instrument-coverage-llvm-ir-base/testprog.rs)0
-rw-r--r--src/test/run-make-fulldeps/coverage-llvmir-deadcode/Makefile (renamed from src/test/run-make-fulldeps/instrument-coverage-llvm-ir-link-dead-code/Makefile)4
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/Makefile (renamed from src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/Makefile)41
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.closure.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.inner_items.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.lazy_boolean.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.loop_break_value.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_loop.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.simple_match.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json (renamed from src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/expected_export_coverage.coverage_of_if_else.json)30
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.closure.txt94
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt34
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt67
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if.txt29
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt41
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.inner_items.txt58
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.lazy_boolean.txt44
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.loop_break_value.txt14
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_loop.txt36
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.simple_match.txt44
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt36
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt69
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt48
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/prettify_json.py (renamed from src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/prettify_json.py)0
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/Makefile (renamed from src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/Makefile)4
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.closure.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.inner_items.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.lazy_boolean.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.loop_break_value.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_loop.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.simple_match.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json (renamed from src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/expected_export_coverage.coverage_of_if_else.json)30
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json59
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.closure.txt94
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt34
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt67
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if.txt29
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt41
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.inner_items.txt58
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.lazy_boolean.txt44
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.loop_break_value.txt14
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_loop.txt36
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.simple_match.txt44
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt36
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt69
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt48
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/Makefile (renamed from src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-base/Makefile)13
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html4505
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html119
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html123
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html167
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#0}-set_strength.-------.InstrumentCoverage.0.html (renamed from src/test/mir-opt/spanview_block.main.mir_map.0.html.mir)21
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html123
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html162
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html163
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html83
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html107
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html (renamed from src/test/mir-opt/spanview_terminator.main.mir_map.0.html.mir)17
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html171
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html160
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html118
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html127
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html190
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html73
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html101
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html228
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html119
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/Makefile (renamed from src/test/run-make-fulldeps/instrument-coverage-mir-cov-html-link-dead-code/Makefile)4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html4505
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html119
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html123
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html167
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#0}-set_strength.-------.InstrumentCoverage.0.html (renamed from src/test/mir-opt/spanview_statement.main.mir_map.0.html.mir)21
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html123
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html162
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html163
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html83
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html107
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html72
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html171
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html160
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.loop_break_value/loop_break_value.main.-------.InstrumentCoverage.0.html118
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html127
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html190
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html73
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html101
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.various_conditions/various_conditions.main.-------.InstrumentCoverage.0.html228
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.while_early_return/while_early_return.main.-------.InstrumentCoverage.0.html119
-rw-r--r--src/test/run-make-fulldeps/coverage/closure.rs93
-rw-r--r--src/test/run-make-fulldeps/coverage/compiletest-ignore-dir (renamed from src/test/run-make-fulldeps/instrument-coverage/compiletest-ignore-dir)2
-rw-r--r--src/test/run-make-fulldeps/coverage/coverage_tools.mk (renamed from src/test/run-make-fulldeps/instrument-coverage/coverage_tools.mk)0
-rw-r--r--src/test/run-make-fulldeps/coverage/drop_trait.rs33
-rw-r--r--src/test/run-make-fulldeps/coverage/generics.rs44
-rw-r--r--src/test/run-make-fulldeps/coverage/if.rs28
-rw-r--r--src/test/run-make-fulldeps/coverage/if_else.rs40
-rw-r--r--src/test/run-make-fulldeps/coverage/inner_items.rs57
-rw-r--r--src/test/run-make-fulldeps/coverage/lazy_boolean.rs43
-rw-r--r--src/test/run-make-fulldeps/coverage/loop_break_value.rs13
-rw-r--r--src/test/run-make-fulldeps/coverage/simple_loop.rs35
-rw-r--r--src/test/run-make-fulldeps/coverage/simple_match.rs43
-rw-r--r--src/test/run-make-fulldeps/coverage/try_error_result.rs35
-rw-r--r--src/test/run-make-fulldeps/coverage/various_conditions.rs (renamed from src/test/run-make-fulldeps/instrument-coverage/coverage_of_if_else.rs)28
-rw-r--r--src/test/run-make-fulldeps/coverage/while_early_return.rs47
-rw-r--r--src/test/run-make-fulldeps/instrument-coverage-cov-reports-base/typical_show_coverage.coverage_of_if_else.txt64
-rw-r--r--src/test/run-make-fulldeps/instrument-coverage-cov-reports-link-dead-code/typical_show_coverage.coverage_of_if_else.txt64
-rw-r--r--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.html641
-rw-r--r--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.html641
-rw-r--r--src/tools/compiletest/src/runtest.rs14
-rw-r--r--src/tools/rust-demangler/Cargo.toml3
-rw-r--r--src/tools/rust-demangler/main.rs41
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() -&gt; ()<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() -&gt; ()<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 -&gt; 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 -&gt; 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 -&gt; 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: &amp;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 &quot;alt string 2&quot;
+39:9-39:23: @4[5]: _5 = &amp;(*_6)
+39:9-39:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 2&quot;
+39:9-39:23: @4[5]: _5 = &amp;(*_6)
+39:9-39:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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: &amp;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 &quot;alt string 4&quot;
+81:9-81:23: @4[5]: _5 = &amp;(*_6)
+81:9-81:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 4&quot;
+81:9-81:23: @4[5]: _5 = &amp;(*_6)
+81:9-81:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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: &amp;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 &quot;alt string 1&quot;
+24:17-24:31: @4[5]: _5 = &amp;(*_6)
+24:17-24:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 1&quot;
+24:17-24:31: @4[5]: _5 = &amp;(*_6)
+24:17-24:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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: &amp;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 &quot;alt string 3&quot;
+66:17-66:31: @4[5]: _5 = &amp;(*_6)
+66:17-66:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 3&quot;
+66:17-66:31: @4[5]: _5 = &amp;(*_6)
+66:17-66:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; Result&lt;(),u8&gt; {</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 = &amp;(*_21)
+20:18-20:41: @3[8]: _10 = &amp;(*_11)
+20:18-20:41: @3[9]: _9 = move _10 as &amp;[&amp;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 = &amp;(*_20)
+20:9-20:43: @3[19]: _14 = &amp;(*_15)
+20:9-20:43: @3[20]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb4, unwind: bb12]
+20:9-20:43: @4.Call: _7 = _print(move _8) -&gt; [return: bb5, unwind: bb12]
+20:9-20:43: @5[5]: _6 = const ()
+21:16-21:22: @5[7]: _0 = std::result::Result::&lt;(), u8&gt;::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 = &amp;(*_21)
+20:18-20:41: @3[8]: _10 = &amp;(*_11)
+20:18-20:41: @3[9]: _9 = move _10 as &amp;[&amp;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 = &amp;(*_20)
+20:9-20:43: @3[19]: _14 = &amp;(*_15)
+20:9-20:43: @3[20]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb4, unwind: bb12]
+20:9-20:43: @4.Call: _7 = _print(move _8) -&gt; [return: bb5, unwind: bb12]
+20:9-20:43: @5[5]: _6 = const ()
+21:16-21:22: @5[7]: _0 = std::result::Result::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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(&amp;mut self) </span><span><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const &lt;Firework as Drop&gt;::drop::promoted[0]
+10:18-10:36: @0[7]: _7 = &amp;(*_19)
+10:18-10:36: @0[8]: _6 = &amp;(*_7)
+10:18-10:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+10:38-10:51: @0[17]: _14 = &amp;((*_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: &amp;i32)
+10:9-10:53: @0[25]: _17 = &amp;(*_15)
+10:9-10:53: @0[27]: _18 = &lt;i32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+10:9-10:53: @0.Call: _16 = ArgumentV1::new::&lt;i32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+10:9-10:53: @1[2]: _12 = [move _16]
+10:9-10:53: @1[5]: _11 = &amp;_12
+10:9-10:53: @1[6]: _10 = &amp;(*_11)
+10:9-10:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework as Drop&gt;::drop::promoted[0]
+10:18-10:36: @0[7]: _7 = &amp;(*_19)
+10:18-10:36: @0[8]: _6 = &amp;(*_7)
+10:18-10:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+10:38-10:51: @0[17]: _14 = &amp;((*_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: &amp;i32)
+10:9-10:53: @0[25]: _17 = &amp;(*_15)
+10:9-10:53: @0[27]: _18 = &lt;i32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+10:9-10:53: @0.Call: _16 = ArgumentV1::new::&lt;i32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+10:9-10:53: @1[2]: _12 = [move _16]
+10:9-10:53: @1[5]: _11 = &amp;_12
+10:9-10:53: @1[6]: _10 = &amp;(*_11)
+10:9-10:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework as Drop&gt;::drop::promoted[0]
+10:18-10:36: @0[7]: _7 = &amp;(*_19)
+10:18-10:36: @0[8]: _6 = &amp;(*_7)
+10:18-10:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+10:38-10:51: @0[17]: _14 = &amp;((*_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: &amp;i32)
+10:9-10:53: @0[25]: _17 = &amp;(*_15)
+10:9-10:53: @0[27]: _18 = &lt;i32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+10:9-10:53: @0.Call: _16 = ArgumentV1::new::&lt;i32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+10:9-10:53: @1[2]: _12 = [move _16]
+10:9-10:53: @1[5]: _11 = &amp;_12
+10:9-10:53: @1[6]: _10 = &amp;(*_11)
+10:9-10:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = _print(move _4) -&gt; [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() -&gt; Result&lt;(),u8&gt; {</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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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 = &amp;(*_27)
+31:18-31:41: @6[8]: _16 = &amp;(*_17)
+31:18-31:41: @6[9]: _15 = move _16 as &amp;[&amp;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 = &amp;(*_26)
+31:9-31:43: @6[19]: _20 = &amp;(*_21)
+31:9-31:43: @6[20]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb7, unwind: bb15]
+31:9-31:43: @7.Call: _13 = _print(move _14) -&gt; [return: bb8, unwind: bb15]
+31:9-31:43: @8[5]: _12 = const ()
+32:16-32:22: @8[7]: _0 = std::result::Result::&lt;(), u8&gt;::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 = &amp;(*_27)
+31:18-31:41: @6[8]: _16 = &amp;(*_17)
+31:18-31:41: @6[9]: _15 = move _16 as &amp;[&amp;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 = &amp;(*_26)
+31:9-31:43: @6[19]: _20 = &amp;(*_21)
+31:9-31:43: @6[20]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb7, unwind: bb15]
+31:9-31:43: @7.Call: _13 = _print(move _14) -&gt; [return: bb8, unwind: bb15]
+31:9-31:43: @8[5]: _12 = const ()
+32:16-32:22: @8[7]: _0 = std::result::Result::&lt;(), u8&gt;::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::&lt;i32&gt; { strength: const 1000_i32 }
+37:8-37:10: @9[2]: _25 = ()
+37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::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::&lt;i32&gt; { strength: const 1000_i32 }
+37:8-37:10: @9[2]: _25 = ()
+37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::Ok(move _25)"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::&lt;i32&gt; { strength: const 1000_i32 }
+37:8-37:10: @9[2]: _25 = ()
+37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::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(&amp;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(&amp;mut self) </span><span><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const &lt;Firework&lt;T&gt; as Drop&gt;::drop::promoted[0]
+18:18-18:36: @0[7]: _7 = &amp;(*_19)
+18:18-18:36: @0[8]: _6 = &amp;(*_7)
+18:18-18:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+18:38-18:51: @0[17]: _14 = &amp;((*_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: &amp;T)
+18:9-18:53: @0[25]: _17 = &amp;(*_15)
+18:9-18:53: @0[27]: _18 = &lt;T as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r T, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+18:9-18:53: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+18:9-18:53: @1[2]: _12 = [move _16]
+18:9-18:53: @1[5]: _11 = &amp;_12
+18:9-18:53: @1[6]: _10 = &amp;(*_11)
+18:9-18:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework&lt;T&gt; as Drop&gt;::drop::promoted[0]
+18:18-18:36: @0[7]: _7 = &amp;(*_19)
+18:18-18:36: @0[8]: _6 = &amp;(*_7)
+18:18-18:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+18:38-18:51: @0[17]: _14 = &amp;((*_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: &amp;T)
+18:9-18:53: @0[25]: _17 = &amp;(*_15)
+18:9-18:53: @0[27]: _18 = &lt;T as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r T, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+18:9-18:53: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+18:9-18:53: @1[2]: _12 = [move _16]
+18:9-18:53: @1[5]: _11 = &amp;_12
+18:9-18:53: @1[6]: _10 = &amp;(*_11)
+18:9-18:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework&lt;T&gt; as Drop&gt;::drop::promoted[0]
+18:18-18:36: @0[7]: _7 = &amp;(*_19)
+18:18-18:36: @0[8]: _6 = &amp;(*_7)
+18:18-18:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+18:38-18:51: @0[17]: _14 = &amp;((*_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: &amp;T)
+18:9-18:53: @0[25]: _17 = &amp;(*_15)
+18:9-18:53: @0[27]: _18 = &lt;T as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r T, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+18:9-18:53: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+18:9-18:53: @1[2]: _12 = [move _16]
+18:9-18:53: @1[5]: _11 = &amp;_12
+18:9-18:53: @1[6]: _10 = &amp;(*_11)
+18:9-18:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = _print(move _4) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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(&amp;mut self) </span><span><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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 = &amp;(*_23)
+21:18-21:26: @1[11]: _10 = &amp;(*_11)
+21:18-21:26: @1[12]: _9 = move _10 as &amp;[&amp;str] (Pointer(Unsize))
+21:28-21:29: @1[20]: _18 = &amp;_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: &amp;u32)
+21:9-21:30: @1[28]: _21 = &amp;(*_19)
+21:9-21:30: @1[30]: _22 = &lt;u32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r u32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+21:9-21:30: @1.Call: _20 = ArgumentV1::new::&lt;u32&gt;(move _21, move _22) -&gt; [return: bb2, unwind: bb5]
+21:9-21:30: @2[2]: _16 = [move _20]
+21:9-21:30: @2[5]: _15 = &amp;_16
+21:9-21:30: @2[6]: _14 = &amp;(*_15)
+21:9-21:30: @2[7]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = _print(move _8) -&gt; [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 = &amp;(*_23)
+21:18-21:26: @1[11]: _10 = &amp;(*_11)
+21:18-21:26: @1[12]: _9 = move _10 as &amp;[&amp;str] (Pointer(Unsize))
+21:28-21:29: @1[20]: _18 = &amp;_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: &amp;u32)
+21:9-21:30: @1[28]: _21 = &amp;(*_19)
+21:9-21:30: @1[30]: _22 = &lt;u32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r u32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+21:9-21:30: @1.Call: _20 = ArgumentV1::new::&lt;u32&gt;(move _21, move _22) -&gt; [return: bb2, unwind: bb5]
+21:9-21:30: @2[2]: _16 = [move _20]
+21:9-21:30: @2[5]: _15 = &amp;_16
+21:9-21:30: @2[6]: _14 = &amp;(*_15)
+21:9-21:30: @2[7]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = _print(move _8) -&gt; [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(&amp;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) -&gt; [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) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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(&amp;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(&amp;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(&amp;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) -&gt; [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) -&gt; [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) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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() -&gt; [return: bb1, unwind: bb25]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb25]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb25]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 &lt; 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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">        &amp;&amp;</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 &lt; 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 &lt; 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">        &amp;&amp;</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 &lt; 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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb22]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb22]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb22]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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::&lt;i32&gt; { start: const 0_i32, end: const 2_i32 }
+17:9-17:13: @7.Call: _8 = &lt;std::ops::Range&lt;i32&gt; as IntoIterator&gt;::into_iter(move _9) -&gt; [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 = &amp;_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 = &amp;_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 = &amp;_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 = &amp;_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 = &amp;_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 = &amp;_5
+26:17-26:18: @17[4]: _26 = (*_24)
+26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)">                    &lt;</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 = &amp;_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">            =&gt;</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">            =&gt;</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) -&gt; Result&lt;(),()&gt; {</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::&lt;(), ()&gt;::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::&lt;(), ()&gt;::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() -&gt; Result&lt;(),()&gt; {</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::&lt;i32&gt; { start: const 0_i32, end: const 10_i32 }
+19:9-19:14: @0.Call: _3 = &lt;std::ops::Range&lt;i32&gt; as IntoIterator&gt;::into_iter(move _4) -&gt; [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 &lt; 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) -&gt; [return: bb13, unwind: bb32]
+27:13-27:42: @13.Call: _21 = &lt;std::result::Result&lt;(), ()&gt; as Try&gt;::into_result(move _22) -&gt; [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) -&gt; [return: bb21, unwind: bb32]
+31:13-31:43: @21.Call: _30 = &lt;std::result::Result&lt;(), ()&gt; as Try&gt;::into_result(move _31) -&gt; [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::&lt;(), ()&gt;::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 &gt; 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 &gt; 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 &lt; 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 &gt; 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 &gt; 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 &gt; 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 &lt; 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 &gt; 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 &gt; 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 &gt; 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 &lt; 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 &gt; 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 = &amp;(*_92)
+53:18-53:27: @60[11]: _66 = &amp;(*_67)
+53:18-53:27: @60[12]: _65 = move _66 as &amp;[&amp;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 = &amp;(*_91)
+53:9-53:29: @60[22]: _70 = &amp;(*_71)
+53:9-53:29: @60[23]: _69 = move _70 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -&gt; [return: bb75, unwind: bb103]
+53:9-53:29: @75.Call: _63 = _print(move _64) -&gt; [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 = &amp;(*_92)
+53:18-53:27: @60[11]: _66 = &amp;(*_67)
+53:18-53:27: @60[12]: _65 = move _66 as &amp;[&amp;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 = &amp;(*_91)
+53:9-53:29: @60[22]: _70 = &amp;(*_71)
+53:9-53:29: @60[23]: _69 = move _70 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -&gt; [return: bb75, unwind: bb103]
+53:9-53:29: @75.Call: _63 = _print(move _64) -&gt; [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 = &amp;(*_92)
+53:18-53:27: @60[11]: _66 = &amp;(*_67)
+53:18-53:27: @60[12]: _65 = move _66 as &amp;[&amp;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 = &amp;(*_91)
+53:9-53:29: @60[22]: _70 = &amp;(*_71)
+53:9-53:29: @60[23]: _69 = move _70 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -&gt; [return: bb75, unwind: bb103]
+53:9-53:29: @75.Call: _63 = _print(move _64) -&gt; [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 &gt; 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 &gt; 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 &lt; 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 &gt; 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() -&gt; Result&lt;(),u8&gt; {</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)">            &gt;</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)">                &lt;</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)">                        &gt;</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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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: &amp;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 &quot;alt string 2&quot;
+39:9-39:23: @4[5]: _5 = &amp;(*_6)
+39:9-39:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 2&quot;
+39:9-39:23: @4[5]: _5 = &amp;(*_6)
+39:9-39:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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: &amp;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 &quot;alt string 4&quot;
+81:9-81:23: @4[5]: _5 = &amp;(*_6)
+81:9-81:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 4&quot;
+81:9-81:23: @4[5]: _5 = &amp;(*_6)
+81:9-81:34: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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: &amp;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 &quot;alt string 1&quot;
+24:17-24:31: @4[5]: _5 = &amp;(*_6)
+24:17-24:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 1&quot;
+24:17-24:31: @4[5]: _5 = &amp;(*_6)
+24:17-24:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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: &amp;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 &quot;alt string 3&quot;
+66:17-66:31: @4[5]: _5 = &amp;(*_6)
+66:17-66:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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 &quot;alt string 3&quot;
+66:17-66:31: @4[5]: _5 = &amp;(*_6)
+66:17-66:42: @4.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; [return: bb1, unwind: bb48]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb48]
+10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::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 = &amp;(*_102)
+12:9-12:32: @5[10]: _13 = &amp;(*_14)
+12:9-12:32: @5[11]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
+14:9-14:20: @5[21]: _23 = move _7
+14:9-26:10: @5.Call: _22 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb45]
+14:9-26:10: @6[2]: _21 = &amp;_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: &amp;std::string::String)
+11:5-27:7: @6[10]: _28 = &amp;(*_26)
+11:5-27:7: @6[12]: _29 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+11:5-27:7: @6.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb44]
+11:5-27:7: @7[2]: _19 = [move _27]
+11:5-27:7: @7[5]: _18 = &amp;_19
+11:5-27:7: @7[6]: _17 = &amp;(*_18)
+11:5-27:7: @7[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+11:5-27:7: @7.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb44]
+11:5-27:7: @8.Call: _10 = _print(move _11) -&gt; [return: bb9, unwind: bb44]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb46]
+29:19-29:59: @11[0]: _30 = Option::&lt;String&gt;::Some(move _31)
+33:9-40:6: @14[3]: _33 = &amp;_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 = &amp;(*_101)
+42:9-42:32: @14[15]: _38 = &amp;(*_39)
+42:9-42:32: @14[16]: _37 = move _38 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb42]
+44:9-49:10: @15[2]: _46 = &amp;_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: &amp;std::string::String)
+41:5-50:7: @15[10]: _52 = &amp;(*_50)
+41:5-50:7: @15[12]: _53 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+41:5-50:7: @15.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb41]
+41:5-50:7: @16[2]: _44 = [move _51]
+41:5-50:7: @16[5]: _43 = &amp;_44
+41:5-50:7: @16[6]: _42 = &amp;(*_43)
+41:5-50:7: @16[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+41:5-50:7: @16.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb41]
+41:5-50:7: @17.Call: _35 = _print(move _36) -&gt; [return: bb18, unwind: bb41]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = Option::&lt;String&gt;::None
+54:9-54:32: @21[7]: _100 = const main::promoted[1]
+54:9-54:32: @21[8]: _60 = &amp;(*_100)
+54:9-54:32: @21[9]: _59 = &amp;(*_60)
+54:9-54:32: @21[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
+56:9-56:20: @21[20]: _69 = move _7
+56:9-68:10: @21.Call: _68 = Option::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb39]
+56:9-68:10: @22[2]: _67 = &amp;_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: &amp;std::string::String)
+53:5-69:7: @22[10]: _74 = &amp;(*_72)
+53:5-69:7: @22[12]: _75 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+53:5-69:7: @22.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb38]
+53:5-69:7: @23[2]: _65 = [move _73]
+53:5-69:7: @23[5]: _64 = &amp;_65
+53:5-69:7: @23[6]: _63 = &amp;(*_64)
+53:5-69:7: @23[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:5-69:7: @23.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb38]
+53:5-69:7: @24.Call: _56 = _print(move _57) -&gt; [return: bb25, unwind: bb38]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = Option::&lt;String&gt;::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 = &amp;(*_99)
+84:9-84:32: @28[15]: _83 = &amp;(*_84)
+84:9-84:32: @28[16]: _82 = move _83 as &amp;[&amp;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::&lt;String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb36]
+86:9-91:10: @29[2]: _91 = &amp;_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: &amp;std::string::String)
+83:5-92:7: @29[10]: _97 = &amp;(*_95)
+83:5-92:7: @29[12]: _98 = &lt;String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::string::String, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+83:5-92:7: @29.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb35]
+83:5-92:7: @30[2]: _89 = [move _96]
+83:5-92:7: @30[5]: _88 = &amp;_89
+83:5-92:7: @30[6]: _87 = &amp;(*_88)
+83:5-92:7: @30[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+83:5-92:7: @30.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb35]
+83:5-92:7: @31.Call: _80 = _print(move _81) -&gt; [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() -&gt; Result&lt;(),u8&gt; {</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 = &amp;(*_21)
+20:18-20:41: @3[8]: _10 = &amp;(*_11)
+20:18-20:41: @3[9]: _9 = move _10 as &amp;[&amp;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 = &amp;(*_20)
+20:9-20:43: @3[19]: _14 = &amp;(*_15)
+20:9-20:43: @3[20]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb4, unwind: bb12]
+20:9-20:43: @4.Call: _7 = _print(move _8) -&gt; [return: bb5, unwind: bb12]
+20:9-20:43: @5[5]: _6 = const ()
+21:16-21:22: @5[7]: _0 = std::result::Result::&lt;(), u8&gt;::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 = &amp;(*_21)
+20:18-20:41: @3[8]: _10 = &amp;(*_11)
+20:18-20:41: @3[9]: _9 = move _10 as &amp;[&amp;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 = &amp;(*_20)
+20:9-20:43: @3[19]: _14 = &amp;(*_15)
+20:9-20:43: @3[20]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+20:9-20:43: @3.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb4, unwind: bb12]
+20:9-20:43: @4.Call: _7 = _print(move _8) -&gt; [return: bb5, unwind: bb12]
+20:9-20:43: @5[5]: _6 = const ()
+21:16-21:22: @5[7]: _0 = std::result::Result::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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(&amp;mut self) </span><span><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const &lt;Firework as Drop&gt;::drop::promoted[0]
+10:18-10:36: @0[7]: _7 = &amp;(*_19)
+10:18-10:36: @0[8]: _6 = &amp;(*_7)
+10:18-10:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+10:38-10:51: @0[17]: _14 = &amp;((*_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: &amp;i32)
+10:9-10:53: @0[25]: _17 = &amp;(*_15)
+10:9-10:53: @0[27]: _18 = &lt;i32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+10:9-10:53: @0.Call: _16 = ArgumentV1::new::&lt;i32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+10:9-10:53: @1[2]: _12 = [move _16]
+10:9-10:53: @1[5]: _11 = &amp;_12
+10:9-10:53: @1[6]: _10 = &amp;(*_11)
+10:9-10:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework as Drop&gt;::drop::promoted[0]
+10:18-10:36: @0[7]: _7 = &amp;(*_19)
+10:18-10:36: @0[8]: _6 = &amp;(*_7)
+10:18-10:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+10:38-10:51: @0[17]: _14 = &amp;((*_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: &amp;i32)
+10:9-10:53: @0[25]: _17 = &amp;(*_15)
+10:9-10:53: @0[27]: _18 = &lt;i32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+10:9-10:53: @0.Call: _16 = ArgumentV1::new::&lt;i32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+10:9-10:53: @1[2]: _12 = [move _16]
+10:9-10:53: @1[5]: _11 = &amp;_12
+10:9-10:53: @1[6]: _10 = &amp;(*_11)
+10:9-10:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework as Drop&gt;::drop::promoted[0]
+10:18-10:36: @0[7]: _7 = &amp;(*_19)
+10:18-10:36: @0[8]: _6 = &amp;(*_7)
+10:18-10:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+10:38-10:51: @0[17]: _14 = &amp;((*_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: &amp;i32)
+10:9-10:53: @0[25]: _17 = &amp;(*_15)
+10:9-10:53: @0[27]: _18 = &lt;i32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+10:9-10:53: @0.Call: _16 = ArgumentV1::new::&lt;i32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+10:9-10:53: @1[2]: _12 = [move _16]
+10:9-10:53: @1[5]: _11 = &amp;_12
+10:9-10:53: @1[6]: _10 = &amp;(*_11)
+10:9-10:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+10:9-10:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = _print(move _4) -&gt; [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() -&gt; Result&lt;(),u8&gt; {</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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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::&lt;i32&gt; { strength: const 1_i32 }
+23:9-23:24: @0[2]: FakeRead(ForLet, _1)
+24:5-24:16: @0[5]: _3 = &amp;mut _1
+24:5-24:32: @0.Call: _2 = Firework::&lt;i32&gt;::set_strength(move _3, const 2_i32) -&gt; [return: bb1, unwind: bb16]
+26:19-26:47: @1[3]: _4 = Firework::&lt;f64&gt; { strength: const 100.09999999999999f64 }
+26:9-26:16: @1[4]: FakeRead(ForLet, _4)
+27:5-27:8: @1[7]: _6 = &amp;mut _4
+27:5-27:28: @1.Call: _5 = Firework::&lt;f64&gt;::set_strength(move _6, const 200.09999999999999f64) -&gt; [return: bb2, unwind: bb15]
+28:5-28:8: @2[4]: _8 = &amp;mut _4
+28:5-28:28: @2.Call: _7 = Firework::&lt;f64&gt;::set_strength(move _8, const 300.30000000000001f64) -&gt; [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 = &amp;(*_27)
+31:18-31:41: @6[8]: _16 = &amp;(*_17)
+31:18-31:41: @6[9]: _15 = move _16 as &amp;[&amp;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 = &amp;(*_26)
+31:9-31:43: @6[19]: _20 = &amp;(*_21)
+31:9-31:43: @6[20]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb7, unwind: bb15]
+31:9-31:43: @7.Call: _13 = _print(move _14) -&gt; [return: bb8, unwind: bb15]
+31:9-31:43: @8[5]: _12 = const ()
+32:16-32:22: @8[7]: _0 = std::result::Result::&lt;(), u8&gt;::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 = &amp;(*_27)
+31:18-31:41: @6[8]: _16 = &amp;(*_17)
+31:18-31:41: @6[9]: _15 = move _16 as &amp;[&amp;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 = &amp;(*_26)
+31:9-31:43: @6[19]: _20 = &amp;(*_21)
+31:9-31:43: @6[20]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+31:9-31:43: @6.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb7, unwind: bb15]
+31:9-31:43: @7.Call: _13 = _print(move _14) -&gt; [return: bb8, unwind: bb15]
+31:9-31:43: @8[5]: _12 = const ()
+32:16-32:22: @8[7]: _0 = std::result::Result::&lt;(), u8&gt;::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::&lt;i32&gt; { strength: const 1000_i32 }
+37:8-37:10: @9[2]: _25 = ()
+37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::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::&lt;i32&gt; { strength: const 1000_i32 }
+37:8-37:10: @9[2]: _25 = ()
+37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::Ok(move _25)"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::&lt;i32&gt; { strength: const 1000_i32 }
+37:8-37:10: @9[2]: _25 = ()
+37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::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(&amp;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(&amp;mut self) </span><span><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const &lt;Firework&lt;T&gt; as Drop&gt;::drop::promoted[0]
+18:18-18:36: @0[7]: _7 = &amp;(*_19)
+18:18-18:36: @0[8]: _6 = &amp;(*_7)
+18:18-18:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+18:38-18:51: @0[17]: _14 = &amp;((*_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: &amp;T)
+18:9-18:53: @0[25]: _17 = &amp;(*_15)
+18:9-18:53: @0[27]: _18 = &lt;T as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r T, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+18:9-18:53: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+18:9-18:53: @1[2]: _12 = [move _16]
+18:9-18:53: @1[5]: _11 = &amp;_12
+18:9-18:53: @1[6]: _10 = &amp;(*_11)
+18:9-18:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework&lt;T&gt; as Drop&gt;::drop::promoted[0]
+18:18-18:36: @0[7]: _7 = &amp;(*_19)
+18:18-18:36: @0[8]: _6 = &amp;(*_7)
+18:18-18:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+18:38-18:51: @0[17]: _14 = &amp;((*_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: &amp;T)
+18:9-18:53: @0[25]: _17 = &amp;(*_15)
+18:9-18:53: @0[27]: _18 = &lt;T as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r T, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+18:9-18:53: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+18:9-18:53: @1[2]: _12 = [move _16]
+18:9-18:53: @1[5]: _11 = &amp;_12
+18:9-18:53: @1[6]: _10 = &amp;(*_11)
+18:9-18:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = _print(move _4) -&gt; [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 &lt;Firework&lt;T&gt; as Drop&gt;::drop::promoted[0]
+18:18-18:36: @0[7]: _7 = &amp;(*_19)
+18:18-18:36: @0[8]: _6 = &amp;(*_7)
+18:18-18:36: @0[9]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+18:38-18:51: @0[17]: _14 = &amp;((*_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: &amp;T)
+18:9-18:53: @0[25]: _17 = &amp;(*_15)
+18:9-18:53: @0[27]: _18 = &lt;T as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r T, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+18:9-18:53: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+18:9-18:53: @1[2]: _12 = [move _16]
+18:9-18:53: @1[5]: _11 = &amp;_12
+18:9-18:53: @1[6]: _10 = &amp;(*_11)
+18:9-18:53: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+18:9-18:53: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = _print(move _4) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb9]
+10:9-10:25: @1[0]: _3 = &amp;_4
+10:9-10:31: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb13]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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(&amp;mut self) </span><span><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = in_func(const IN_CONST) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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) -&gt; [return: bb1, unwind: bb3]
+35:13-35:17: @1[3]: _4 = &amp;mut (*_1)
+35:13-35:38: @1.Call: _3 = &lt;Self as InTrait&gt;::trait_func(move _4, const IN_CONST) -&gt; [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 = &amp;(*_23)
+21:18-21:26: @1[11]: _10 = &amp;(*_11)
+21:18-21:26: @1[12]: _9 = move _10 as &amp;[&amp;str] (Pointer(Unsize))
+21:28-21:29: @1[20]: _18 = &amp;_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: &amp;u32)
+21:9-21:30: @1[28]: _21 = &amp;(*_19)
+21:9-21:30: @1[30]: _22 = &lt;u32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r u32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+21:9-21:30: @1.Call: _20 = ArgumentV1::new::&lt;u32&gt;(move _21, move _22) -&gt; [return: bb2, unwind: bb5]
+21:9-21:30: @2[2]: _16 = [move _20]
+21:9-21:30: @2[5]: _15 = &amp;_16
+21:9-21:30: @2[6]: _14 = &amp;(*_15)
+21:9-21:30: @2[7]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = _print(move _8) -&gt; [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 = &amp;(*_23)
+21:18-21:26: @1[11]: _10 = &amp;(*_11)
+21:18-21:26: @1[12]: _9 = move _10 as &amp;[&amp;str] (Pointer(Unsize))
+21:28-21:29: @1[20]: _18 = &amp;_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: &amp;u32)
+21:9-21:30: @1[28]: _21 = &amp;(*_19)
+21:9-21:30: @1[30]: _22 = &lt;u32 as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r u32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+21:9-21:30: @1.Call: _20 = ArgumentV1::new::&lt;u32&gt;(move _21, move _22) -&gt; [return: bb2, unwind: bb5]
+21:9-21:30: @2[2]: _16 = [move _20]
+21:9-21:30: @2[5]: _15 = &amp;_16
+21:9-21:30: @2[6]: _14 = &amp;(*_15)
+21:9-21:30: @2[7]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+21:9-21:30: @2.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = _print(move _8) -&gt; [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(&amp;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) -&gt; [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) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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(&amp;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(&amp;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(&amp;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) -&gt; [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) -&gt; [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) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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 = &amp;mut _12
+56:5-56:29: @12.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [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() -&gt; [return: bb1, unwind: bb25]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb25]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb25]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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 &lt; 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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">        &amp;&amp;</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 &lt; 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 &lt; 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">        &amp;&amp;</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 &lt; 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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb15]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb22]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb22]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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() -&gt; [return: bb1, unwind: bb22]
+7:19-7:35: @1[0]: _3 = &amp;_4
+7:19-7:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [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::&lt;i32&gt; { start: const 0_i32, end: const 2_i32 }
+17:9-17:13: @7.Call: _8 = &lt;std::ops::Range&lt;i32&gt; as IntoIterator&gt;::into_iter(move _9) -&gt; [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 = &amp;_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 = &amp;_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 = &amp;_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 = &amp;_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 = &amp;_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 = &amp;_5
+26:17-26:18: @17[4]: _26 = (*_24)
+26:17-28:18: @17[5]: _25 = Lt(move _26, const 1_i32)">                    &lt;</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 = &amp;_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">            =&gt;</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">            =&gt;</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) -&gt; Result&lt;(),()&gt; {</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::&lt;(), ()&gt;::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::&lt;(), ()&gt;::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() -&gt; Result&lt;(),()&gt; {</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::&lt;i32&gt; { start: const 0_i32, end: const 10_i32 }
+19:9-19:14: @0.Call: _3 = &lt;std::ops::Range&lt;i32&gt; as IntoIterator&gt;::into_iter(move _4) -&gt; [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 &lt; 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) -&gt; [return: bb13, unwind: bb32]
+27:13-27:42: @13.Call: _21 = &lt;std::result::Result&lt;(), ()&gt; as Try&gt;::into_result(move _22) -&gt; [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) -&gt; [return: bb21, unwind: bb32]
+31:13-31:43: @21.Call: _30 = &lt;std::result::Result&lt;(), ()&gt; as Try&gt;::into_result(move _31) -&gt; [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::&lt;(), ()&gt;::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 &gt; 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 &gt; 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 &lt; 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 &gt; 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 &gt; 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 &gt; 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 &lt; 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 &gt; 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 &gt; 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 &gt; 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 &lt; 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 &gt; 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 = &amp;(*_92)
+53:18-53:27: @60[11]: _66 = &amp;(*_67)
+53:18-53:27: @60[12]: _65 = move _66 as &amp;[&amp;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 = &amp;(*_91)
+53:9-53:29: @60[22]: _70 = &amp;(*_71)
+53:9-53:29: @60[23]: _69 = move _70 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -&gt; [return: bb75, unwind: bb103]
+53:9-53:29: @75.Call: _63 = _print(move _64) -&gt; [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 = &amp;(*_92)
+53:18-53:27: @60[11]: _66 = &amp;(*_67)
+53:18-53:27: @60[12]: _65 = move _66 as &amp;[&amp;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 = &amp;(*_91)
+53:9-53:29: @60[22]: _70 = &amp;(*_71)
+53:9-53:29: @60[23]: _69 = move _70 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -&gt; [return: bb75, unwind: bb103]
+53:9-53:29: @75.Call: _63 = _print(move _64) -&gt; [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 = &amp;(*_92)
+53:18-53:27: @60[11]: _66 = &amp;(*_67)
+53:18-53:27: @60[12]: _65 = move _66 as &amp;[&amp;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 = &amp;(*_91)
+53:9-53:29: @60[22]: _70 = &amp;(*_71)
+53:9-53:29: @60[23]: _69 = move _70 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+53:9-53:29: @60.Call: _64 = Arguments::new_v1(move _65, move _69) -&gt; [return: bb75, unwind: bb103]
+53:9-53:29: @75.Call: _63 = _print(move _64) -&gt; [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 &gt; 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 &gt; 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 &lt; 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 &gt; 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() -&gt; Result&lt;(),u8&gt; {</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)">            &gt;</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)">                &lt;</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)">                        &gt;</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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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::&lt;(), u8&gt;::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 -&gt; [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 -&gt; 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 -&gt; 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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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) -&gt; [false: bb6, otherwise: bb5]"><span class="annotation">4⦊</span>countdown &gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 4_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [false: bb10, otherwise: bb9]"><span class="annotation">6⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [false: bb17, otherwise: bb16]"><span class="annotation">18⦊</span>countdown &lt; 1 || countdown &gt; 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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [false: bb31, otherwise: bb30]"><span class="annotation">29⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 4_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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) -&gt; [false: bb35, otherwise: bb34]"><span class="annotation">31⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [false: bb42, otherwise: bb41]"><span class="annotation">43⦊</span>countdown &lt; 1 || countdown &gt; 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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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) -&gt; [false: bb56, otherwise: bb55]"><span class="annotation">54⦊</span>countdown &gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 4_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [false: bb60, otherwise: bb59]"><span class="annotation">56⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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 -&gt; bb69"><span class="annotation">66⦊</span>countdown &lt; 1 || countdown &gt; 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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; [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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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) -&gt; [false: bb6, otherwise: bb5]"><span class="annotation">4⦊</span>countdown &gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 4_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [false: bb10, otherwise: bb9]"><span class="annotation">6⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [false: bb17, otherwise: bb16]"><span class="annotation">18⦊</span>countdown &lt; 1 || countdown &gt; 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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [false: bb31, otherwise: bb30]"><span class="annotation">29⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 4_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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) -&gt; [false: bb35, otherwise: bb34]"><span class="annotation">31⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [false: bb42, otherwise: bb41]"><span class="annotation">43⦊</span>countdown &lt; 1 || countdown &gt; 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 -&gt; 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 -&gt; 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 -&gt; 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) -&gt; [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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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) -&gt; [false: bb56, otherwise: bb55]"><span class="annotation">54⦊</span>countdown &gt; 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 -&gt; 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 -&gt; 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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 4_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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) -&gt; [false: bb60, otherwise: bb59]"><span class="annotation">56⦊</span>countdown &gt; 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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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 -&gt; bb69"><span class="annotation">66⦊</span>countdown &lt; 1 || countdown &gt; 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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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) -&gt; [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) -&gt; [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 -&gt; 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 -&gt; [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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [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 -&gt; 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 -&gt; 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 -&gt; [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 -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [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), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; [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 -&gt; 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 -&gt; [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 -&gt; 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 -&gt; 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(())
 }