about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/codegen/abi-repr-ext.rs13
-rw-r--r--src/test/codegen/asm-sanitize-llvm.rs32
-rw-r--r--src/test/codegen/vec-shrink-panic.rs8
-rw-r--r--src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir28
-rw-r--r--src/test/mir-opt/box_expr.main.ElaborateDrops.before.mir28
-rw-r--r--src/test/mir-opt/const_prop/control_flow_simplification.hello.ConstProp.diff10
-rw-r--r--src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-final.after.diff2
-rw-r--r--src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff2
-rw-r--r--src/test/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff2
-rw-r--r--src/test/mir-opt/inline/cycle.f.Inline.diff42
-rw-r--r--src/test/mir-opt/inline/cycle.g.Inline.diff25
-rw-r--r--src/test/mir-opt/inline/cycle.main.Inline.diff25
-rw-r--r--src/test/mir-opt/inline/cycle.rs18
-rw-r--r--src/test/mir-opt/inline/inline-cycle-generic.rs40
-rw-r--r--src/test/mir-opt/inline/inline-instruction-set.rs54
-rw-r--r--src/test/mir-opt/inline/inline_closure_borrows_arg.foo.Inline.after.mir2
-rw-r--r--src/test/mir-opt/inline/inline_cycle_generic.main.Inline.diff29
-rw-r--r--src/test/mir-opt/inline/inline_diverging.h.Inline.diff11
-rw-r--r--src/test/mir-opt/inline/inline_instruction_set.default.Inline.diff45
-rw-r--r--src/test/mir-opt/inline/inline_instruction_set.t32.Inline.diff47
-rw-r--r--src/test/mir-opt/inst_combine_deref.rs69
-rw-r--r--src/test/mir-opt/issue_41110.main.ElaborateDrops.after.mir27
-rw-r--r--src/test/mir-opt/issue_41110.test.ElaborateDrops.after.mir48
-rw-r--r--src/test/mir-opt/issue_41888.main.ElaborateDrops.after.mir74
-rw-r--r--src/test/mir-opt/issue_62289.test.ElaborateDrops.before.mir40
-rw-r--r--src/test/mir-opt/issue_73223.main.PreCodegen.32bit.diff100
-rw-r--r--src/test/mir-opt/issue_73223.main.PreCodegen.64bit.diff100
-rw-r--r--src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.32bit.diff206
-rw-r--r--src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.64bit.diff206
-rw-r--r--src/test/mir-opt/issue_76432.test.SimplifyComparisonIntegral.diff8
-rw-r--r--src/test/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir10
-rw-r--r--src/test/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.mir10
-rw-r--r--src/test/mir-opt/simplify_arm.id_result.SimplifyArmIdentity.diff2
-rw-r--r--src/test/mir-opt/simplify_arm.id_result.SimplifyBranchSame.diff2
-rw-r--r--src/test/mir-opt/simplify_arm.id_try.SimplifyArmIdentity.diff6
-rw-r--r--src/test/mir-opt/simplify_arm.id_try.SimplifyBranchSame.diff6
-rw-r--r--src/test/mir-opt/simplify_try.try_identity.DestinationPropagation.diff6
-rw-r--r--src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff6
-rw-r--r--src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir6
-rw-r--r--src/test/mir-opt/simplify_try.try_identity.SimplifyLocals.after.mir6
-rw-r--r--src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir38
-rw-r--r--src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir38
-rw-r--r--src/test/run-make-fulldeps/coverage-llvmir/Makefile6
-rw-r--r--src/test/run-make-fulldeps/coverage-reports/Makefile7
-rw-r--r--src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/Makefile8
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html28
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html22
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html22
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html22
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html136
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html108
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#10}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#11}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html12
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html84
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html12
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html20224
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html16
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html32
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_fn.-------.InstrumentCoverage.0.html32
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_pub_fn_not_in_library.-------.InstrumentCoverage.0.html32
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest/doctest.main.-------.InstrumentCoverage.0.html20
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest_crate/doctest_crate.fn_run_in_doctests.-------.InstrumentCoverage.0.html40
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html8
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html8
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html76
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html36
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html16
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html40
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html8
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html46
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html32
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html32
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.{impl#0}-fmt.-------.InstrumentCoverage.0.html10
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.match_or_pattern/match_or_pattern.main.-------.InstrumentCoverage.0.html36
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html14
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html48
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.might_overflow.-------.InstrumentCoverage.0.html84
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html28
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html96
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#7}-fmt.-------.InstrumentCoverage.0.html58
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#8}-clone.-------.InstrumentCoverage.0.html6
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html40
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html34
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html8
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html16
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html16
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html162
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html12
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_bin_crate_generic_function.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_this_lib_crate_generic_function.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_with_same_type_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html24
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.uses_crate/uses_crate.main.-------.InstrumentCoverage.0.html176
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.yield/yield.main.-------.InstrumentCoverage.0.html38
-rw-r--r--src/test/run-make-fulldeps/coverage/coverage_tools.mk7
-rw-r--r--src/test/run-make-fulldeps/split-debuginfo/Makefile59
-rw-r--r--src/test/run-make-fulldeps/split-debuginfo/foo.rs1
-rw-r--r--src/test/run-make-fulldeps/split-dwarf/Makefile2
-rw-r--r--src/test/rustdoc-js-std/primitive.js75
-rw-r--r--src/test/rustdoc-js/primitive.js25
-rw-r--r--src/test/rustdoc-js/primitive.rs5
-rw-r--r--src/test/rustdoc-json/check_missing_items.py187
-rw-r--r--src/test/rustdoc-json/compare.py132
-rw-r--r--src/test/rustdoc-json/method_abi.rs25
-rw-r--r--src/test/rustdoc-json/nested.expected196
-rw-r--r--src/test/rustdoc-json/nested.rs17
-rw-r--r--src/test/rustdoc-json/structs.expected456
-rw-r--r--src/test/rustdoc-json/structs.rs17
-rw-r--r--src/test/rustdoc-json/structs/plain_empty.rs6
-rw-r--r--src/test/rustdoc-json/structs/tuple.rs5
-rw-r--r--src/test/rustdoc-json/structs/unit.rs5
-rw-r--r--src/test/rustdoc-json/structs/with_generics.rs14
-rw-r--r--src/test/rustdoc-json/structs/with_primitives.rs10
-rw-r--r--src/test/rustdoc-json/traits/has_body.rs21
-rw-r--r--src/test/rustdoc-json/unions/union.rs7
-rw-r--r--src/test/rustdoc-ui/deref-generic.rs15
-rw-r--r--src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs6
-rw-r--r--src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr23
-rw-r--r--src/test/rustdoc-ui/intra-doc/non-path-primitives.rs1
-rw-r--r--src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr18
-rw-r--r--src/test/rustdoc-ui/issue-81662-shortness.rs12
-rw-r--r--src/test/rustdoc-ui/issue-81662-shortness.stdout16
-rw-r--r--src/test/rustdoc-ui/run-directory.correct.stdout6
-rw-r--r--src/test/rustdoc-ui/run-directory.incorrect.stdout6
-rw-r--r--src/test/rustdoc-ui/run-directory.rs23
-rw-r--r--src/test/rustdoc/fn-type.rs15
-rw-r--r--src/test/rustdoc/for-lifetime.rs14
-rw-r--r--src/test/rustdoc/implementor-stable-version.rs19
-rw-r--r--src/test/rustdoc/intra-doc/non-path-primitives.rs1
-rw-r--r--src/test/rustdoc/issue-80893.rs6
-rw-r--r--src/test/rustdoc/reexport-check.rs2
-rw-r--r--src/test/rustdoc/task-lists.rs13
-rw-r--r--src/test/rustdoc/visibility.rs32
-rw-r--r--src/test/ui-fulldeps/issue-15149.rs6
-rw-r--r--src/test/ui-fulldeps/lint-tool-test.stderr18
-rw-r--r--src/test/ui/allocator/object-safe.rs13
-rw-r--r--src/test/ui/array-slice-vec/array_const_index-0.rs1
-rw-r--r--src/test/ui/array-slice-vec/array_const_index-0.stderr2
-rw-r--r--src/test/ui/array-slice-vec/array_const_index-1.rs1
-rw-r--r--src/test/ui/array-slice-vec/array_const_index-1.stderr2
-rw-r--r--src/test/ui/array-slice-vec/issue-18425.rs (renamed from src/test/ui/issues/issue-18425.rs)0
-rw-r--r--src/test/ui/array-slice-vec/repeat_empty_ok.rs15
-rw-r--r--src/test/ui/array-slice-vec/repeat_empty_ok.stderr19
-rw-r--r--src/test/ui/associated-consts/defaults-not-assumed-fail.rs4
-rw-r--r--src/test/ui/associated-consts/defaults-not-assumed-fail.stderr16
-rw-r--r--src/test/ui/associated-types/hr-associated-type-bound-2.rs2
-rw-r--r--src/test/ui/associated-types/hr-associated-type-bound-2.stderr6
-rw-r--r--src/test/ui/associated-types/issue-18655.rs (renamed from src/test/ui/issues/issue-18655.rs)0
-rw-r--r--src/test/ui/associated-types/issue-22037.rs (renamed from src/test/ui/issues/issue-22037.rs)0
-rw-r--r--src/test/ui/associated-types/issue-22037.stderr (renamed from src/test/ui/issues/issue-22037.stderr)0
-rw-r--r--src/test/ui/associated-types/issue-24159.rs37
-rw-r--r--src/test/ui/associated-types/issue-37808.rs19
-rw-r--r--src/test/ui/associated-types/issue-37883.rs25
-rw-r--r--src/test/ui/associated-types/issue-38917.rs25
-rw-r--r--src/test/ui/associated-types/issue-39532.rs14
-rw-r--r--src/test/ui/associated-types/issue-40093.rs14
-rw-r--r--src/test/ui/associated-types/issue-43475.rs10
-rw-r--r--src/test/ui/associated-types/issue-63591.rs24
-rw-r--r--src/test/ui/associated-types/project-recursion-limit-non-fatal.rs58
-rw-r--r--src/test/ui/ast-json/ast-json-noexpand-output.stdout2
-rw-r--r--src/test/ui/ast-json/ast-json-output.stdout2
-rw-r--r--src/test/ui/async-await/async-block-control-flow-static-semantics.stderr8
-rw-r--r--src/test/ui/async-await/issue-73137.rs1
-rw-r--r--src/test/ui/async-await/issue-73541-2.rs (renamed from src/test/ui/issues/issue-73541-2.rs)0
-rw-r--r--src/test/ui/async-await/issue-73541-2.stderr (renamed from src/test/ui/issues/issue-73541-2.stderr)0
-rw-r--r--src/test/ui/async-await/issues/issue-62097.nll.stderr3
-rw-r--r--src/test/ui/async-await/issues/issue-67893.stderr6
-rw-r--r--src/test/ui/attr-usage-inline.rs16
-rw-r--r--src/test/ui/attr-usage-inline.stderr8
-rw-r--r--src/test/ui/attributes/key-value-non-ascii.rs4
-rw-r--r--src/test/ui/attributes/key-value-non-ascii.stderr11
-rw-r--r--src/test/ui/backtrace-apple-no-dsymutil.rs30
-rw-r--r--src/test/ui/borrowck/borrow-raw-address-of-mutability.stderr4
-rw-r--r--src/test/ui/borrowck/borrowck-assign-to-subfield.rs1
-rw-r--r--src/test/ui/borrowck/issue-33819.rs (renamed from src/test/ui/issues/issue-33819.rs)0
-rw-r--r--src/test/ui/borrowck/issue-33819.stderr (renamed from src/test/ui/issues/issue-33819.stderr)0
-rw-r--r--src/test/ui/borrowck/issue-45983.stderr1
-rw-r--r--src/test/ui/borrowck/issue-7573.stderr1
-rw-r--r--src/test/ui/borrowck/regions-escape-bound-fn-2.stderr1
-rw-r--r--src/test/ui/borrowck/regions-escape-bound-fn.stderr1
-rw-r--r--src/test/ui/borrowck/regions-escape-unboxed-closure.stderr1
-rw-r--r--src/test/ui/bound-suggestions.fixed27
-rw-r--r--src/test/ui/bound-suggestions.rs27
-rw-r--r--src/test/ui/bound-suggestions.stderr82
-rw-r--r--src/test/ui/cast/fat-ptr-cast-rpass.rs (renamed from src/test/ui/fat-ptr-cast-rpass.rs)0
-rw-r--r--src/test/ui/cast/fat-ptr-cast.rs (renamed from src/test/ui/fat-ptr-cast.rs)0
-rw-r--r--src/test/ui/cast/fat-ptr-cast.stderr (renamed from src/test/ui/fat-ptr-cast.stderr)0
-rw-r--r--src/test/ui/cast/issue-17444.rs (renamed from src/test/ui/issues/issue-17444.rs)0
-rw-r--r--src/test/ui/cast/issue-17444.stderr (renamed from src/test/ui/issues/issue-17444.stderr)0
-rw-r--r--src/test/ui/cast/unsupported-cast.rs5
-rw-r--r--src/test/ui/cast/unsupported-cast.stderr (renamed from src/test/ui/unsupported-cast.stderr)4
-rw-r--r--src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs38
-rw-r--r--src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs56
-rw-r--r--src/test/ui/check-static-immutable-mut-slices.rs2
-rw-r--r--src/test/ui/check-static-immutable-mut-slices.stderr4
-rw-r--r--src/test/ui/closures/2229_closure_analysis/by_value.rs41
-rw-r--r--src/test/ui/closures/2229_closure_analysis/by_value.stderr67
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-1.rs35
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-1.stderr77
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-2.rs30
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-2.stderr65
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-3.rs35
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-3.stderr65
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-4.rs33
-rw-r--r--src/test/ui/closures/2229_closure_analysis/capture-analysis-4.stderr62
-rw-r--r--src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.rs52
-rw-r--r--src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.stderr70
-rw-r--r--src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.rs27
-rw-r--r--src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.stderr70
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.rs20
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.stderr21
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.rs35
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.stderr30
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.rs31
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.stderr26
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.rs26
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.stderr37
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.rs25
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.stderr26
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.rs16
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.stderr26
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.rs15
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.stderr23
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.rs38
-rw-r--r--src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.stderr33
-rw-r--r--src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.rs130
-rw-r--r--src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr105
-rw-r--r--src/test/ui/closures/2229_closure_analysis/migrations/no_migrations.rs84
-rw-r--r--src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.rs137
-rw-r--r--src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr103
-rw-r--r--src/test/ui/closures/2229_closure_analysis/move_closure.rs72
-rw-r--r--src/test/ui/closures/2229_closure_analysis/move_closure.stderr147
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/by_value.rs28
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/by_value.stderr11
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.rs46
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.stderr11
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.rs64
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.stderr11
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs56
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.stderr11
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs45
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.stderr11
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs47
-rw-r--r--src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.stderr11
-rw-r--r--src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.rs4
-rw-r--r--src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.stderr5
-rw-r--r--src/test/ui/closures/2229_closure_analysis/unsafe_ptr.rs63
-rw-r--r--src/test/ui/closures/2229_closure_analysis/unsafe_ptr.stderr102
-rw-r--r--src/test/ui/closures/closure-expected-type/expect-region-supply-region.stderr1
-rw-r--r--src/test/ui/closures/issue-80313-mutable-borrow-in-closure.rs7
-rw-r--r--src/test/ui/closures/issue-80313-mutable-borrow-in-closure.stderr14
-rw-r--r--src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.rs7
-rw-r--r--src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.stderr14
-rw-r--r--src/test/ui/closures/issue-80313-mutation-in-closure.rs7
-rw-r--r--src/test/ui/closures/issue-80313-mutation-in-closure.stderr14
-rw-r--r--src/test/ui/closures/issue-80313-mutation-in-move-closure.rs7
-rw-r--r--src/test/ui/closures/issue-80313-mutation-in-move-closure.stderr14
-rw-r--r--src/test/ui/closures/issue-81700-mut-borrow.rs5
-rw-r--r--src/test/ui/closures/issue-81700-mut-borrow.stderr13
-rw-r--r--src/test/ui/closures/local-type-mix.rs17
-rw-r--r--src/test/ui/closures/local-type-mix.stderr51
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.rs11
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr12
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs15
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.rs17
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.stderr5
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs6
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.stderr9
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs8
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.stderr11
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.rs (renamed from src/test/ui/cmse-nonsecure-entry/gate_test.rs)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr (renamed from src/test/ui/cmse-nonsecure-entry/gate_test.stderr)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-registers.rs (renamed from src/test/ui/cmse-nonsecure-entry/params-on-registers.rs)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.rs (renamed from src/test/ui/cmse-nonsecure-entry/params-on-stack.rs)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.stderr (renamed from src/test/ui/cmse-nonsecure-entry/params-on-stack.stderr)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/trustzone-only.rs (renamed from src/test/ui/cmse-nonsecure-entry/trustzone-only.rs)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/trustzone-only.stderr (renamed from src/test/ui/cmse-nonsecure-entry/trustzone-only.stderr)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/wrong-abi.rs (renamed from src/test/ui/cmse-nonsecure-entry/wrong-abi.rs)0
-rw-r--r--src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/wrong-abi.stderr (renamed from src/test/ui/cmse-nonsecure-entry/wrong-abi.stderr)0
-rw-r--r--src/test/ui/codemap_tests/unicode.stderr2
-rw-r--r--src/test/ui/coercion/coercion-missing-tail-expected-type.stderr4
-rw-r--r--src/test/ui/command/command-current-dir.rs49
-rw-r--r--src/test/ui/command/command-setgroups.rs27
-rw-r--r--src/test/ui/const-generics/array-impls/into-iter-impls-length-32.rs1
-rw-r--r--src/test/ui/const-generics/array-impls/into-iter-impls-length-33.rs1
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/cross_crate_predicate.stderr8
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/different-fn.stderr2
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/elaborate-trait-pred.rs24
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.rs31
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.stderr43
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-1.rs24
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-2.rs35
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs34
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-2.rs29
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/simple_fail.full.stderr8
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/simple_fail.min.stderr11
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/simple_fail.rs6
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs17
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/ty-alias-substitution.rs14
-rw-r--r--src/test/ui/const-generics/issue-71202.rs33
-rw-r--r--src/test/ui/const-generics/late-bound-vars/in_closure.rs18
-rw-r--r--src/test/ui/const-generics/late-bound-vars/simple.rs16
-rw-r--r--src/test/ui/const-ptr/out_of_bounds_read.stderr8
-rw-r--r--src/test/ui/const_evaluatable/needs_where_clause.rs14
-rw-r--r--src/test/ui/const_evaluatable/needs_where_clause.stderr14
-rw-r--r--src/test/ui/const_evaluatable/no_where_clause.rs29
-rw-r--r--src/test/ui/const_evaluatable/no_where_clause.stderr14
-rw-r--r--src/test/ui/const_prop/inline_spans_lint_attribute.rs15
-rw-r--r--src/test/ui/consts/array-literal-index-oob.rs2
-rw-r--r--src/test/ui/consts/array-literal-index-oob.stderr22
-rw-r--r--src/test/ui/consts/assoc_const_generic_impl.rs1
-rw-r--r--src/test/ui/consts/assoc_const_generic_impl.stderr4
-rw-r--r--src/test/ui/consts/assume-type-intrinsics.stderr2
-rw-r--r--src/test/ui/consts/const-address-of-mut.stderr24
-rw-r--r--src/test/ui/consts/const-blocks/const-repeat.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/const-repeat.rs)0
-rw-r--r--src/test/ui/consts/const-blocks/fn-call-in-const.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-const.rs)6
-rw-r--r--src/test/ui/consts/const-blocks/fn-call-in-non-const.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.rs)2
-rw-r--r--src/test/ui/consts/const-blocks/fn-call-in-non-const.stderr (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.stderr)2
-rw-r--r--src/test/ui/consts/const-blocks/migrate-fail.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.rs)1
-rw-r--r--src/test/ui/consts/const-blocks/migrate-fail.stderr (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.stderr)4
-rw-r--r--src/test/ui/consts/const-blocks/migrate-pass.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-pass.rs)1
-rw-r--r--src/test/ui/consts/const-blocks/nll-fail.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.rs)1
-rw-r--r--src/test/ui/consts/const-blocks/nll-fail.stderr (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.stderr)4
-rw-r--r--src/test/ui/consts/const-blocks/nll-pass.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-pass.rs)1
-rw-r--r--src/test/ui/consts/const-blocks/run-pass.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/run-pass.rs)1
-rw-r--r--src/test/ui/consts/const-blocks/trait-error.rs (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.rs)2
-rw-r--r--src/test/ui/consts/const-blocks/trait-error.stderr (renamed from src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.stderr)2
-rw-r--r--src/test/ui/consts/const-err-early.rs5
-rw-r--r--src/test/ui/consts/const-err-early.stderr22
-rw-r--r--src/test/ui/consts/const-err-multi.rs4
-rw-r--r--src/test/ui/consts/const-err-multi.stderr17
-rw-r--r--src/test/ui/consts/const-err.rs1
-rw-r--r--src/test/ui/consts/const-err.stderr6
-rw-r--r--src/test/ui/consts/const-eval/conditional_array_execution.rs2
-rw-r--r--src/test/ui/consts/const-eval/conditional_array_execution.stderr11
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow2.rs8
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow2.stderr37
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow2b.rs8
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow2b.stderr37
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow2c.rs8
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow2c.stderr37
-rw-r--r--src/test/ui/consts/const-eval/const-eval-query-stack.rs11
-rw-r--r--src/test/ui/consts/const-eval/const-eval-query-stack.stderr34
-rw-r--r--src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs20
-rw-r--r--src/test/ui/consts/const-eval/const-pointer-values-in-various-types.stderr113
-rw-r--r--src/test/ui/consts/const-eval/const_fn_ptr_fail2.rs4
-rw-r--r--src/test/ui/consts/const-eval/const_fn_ptr_fail2.stderr20
-rw-r--r--src/test/ui/consts/const-eval/const_panic.rs11
-rw-r--r--src/test/ui/consts/const-eval/const_panic.stderr60
-rw-r--r--src/test/ui/consts/const-eval/const_panic_libcore_bin.rs3
-rw-r--r--src/test/ui/consts/const-eval/const_panic_libcore_bin.stderr14
-rw-r--r--src/test/ui/consts/const-eval/const_raw_ptr_ops2.rs3
-rw-r--r--src/test/ui/consts/const-eval/const_raw_ptr_ops2.stderr12
-rw-r--r--src/test/ui/consts/const-eval/dangling.rs6
-rw-r--r--src/test/ui/consts/const-eval/dangling.stderr3
-rw-r--r--src/test/ui/consts/const-eval/erroneous-const.rs1
-rw-r--r--src/test/ui/consts/const-eval/erroneous-const.stderr8
-rw-r--r--src/test/ui/consts/const-eval/feature-gate-const_panic.stderr12
-rw-r--r--src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs1
-rw-r--r--src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr2
-rw-r--r--src/test/ui/consts/const-eval/index-out-of-bounds-never-type.rs1
-rw-r--r--src/test/ui/consts/const-eval/index-out-of-bounds-never-type.stderr4
-rw-r--r--src/test/ui/consts/const-eval/issue-43197.rs8
-rw-r--r--src/test/ui/consts/const-eval/issue-43197.stderr25
-rw-r--r--src/test/ui/consts/const-eval/issue-44578.rs2
-rw-r--r--src/test/ui/consts/const-eval/issue-44578.stderr2
-rw-r--r--src/test/ui/consts/const-eval/issue-49296.rs1
-rw-r--r--src/test/ui/consts/const-eval/issue-49296.stderr2
-rw-r--r--src/test/ui/consts/const-eval/issue-50814-2.rs1
-rw-r--r--src/test/ui/consts/const-eval/issue-50814-2.stderr10
-rw-r--r--src/test/ui/consts/const-eval/issue-50814.rs1
-rw-r--r--src/test/ui/consts/const-eval/issue-50814.stderr10
-rw-r--r--src/test/ui/consts/const-eval/issue-65394.stderr9
-rw-r--r--src/test/ui/consts/const-eval/panic-assoc-never-type.rs1
-rw-r--r--src/test/ui/consts/const-eval/panic-assoc-never-type.stderr4
-rw-r--r--src/test/ui/consts/const-eval/panic-never-type.rs1
-rw-r--r--src/test/ui/consts/const-eval/panic-never-type.stderr4
-rw-r--r--src/test/ui/consts/const-eval/promoted_errors.noopt.stderr111
-rw-r--r--src/test/ui/consts/const-eval/promoted_errors.opt.stderr106
-rw-r--r--src/test/ui/consts/const-eval/promoted_errors.opt_with_overflow_checks.stderr111
-rw-r--r--src/test/ui/consts/const-eval/promoted_errors.rs50
-rw-r--r--src/test/ui/consts/const-eval/pub_const_err.rs1
-rw-r--r--src/test/ui/consts/const-eval/pub_const_err.stderr2
-rw-r--r--src/test/ui/consts/const-eval/pub_const_err_bin.rs1
-rw-r--r--src/test/ui/consts/const-eval/pub_const_err_bin.stderr2
-rw-r--r--src/test/ui/consts/const-eval/ub-nonnull.rs1
-rw-r--r--src/test/ui/consts/const-eval/ub-nonnull.stderr13
-rw-r--r--src/test/ui/consts/const-eval/ub-wide-ptr.rs26
-rw-r--r--src/test/ui/consts/const-eval/ub-wide-ptr.stderr114
-rw-r--r--src/test/ui/consts/const-eval/unused-broken-const.rs1
-rw-r--r--src/test/ui/consts/const-eval/unused-broken-const.stderr2
-rw-r--r--src/test/ui/consts/const-eval/unwind-abort.rs1
-rw-r--r--src/test/ui/consts/const-eval/unwind-abort.stderr6
-rw-r--r--src/test/ui/consts/const-eval/validate_uninhabited_zsts.rs1
-rw-r--r--src/test/ui/consts/const-eval/validate_uninhabited_zsts.stderr10
-rw-r--r--src/test/ui/consts/const-external-macro-const-err.rs1
-rw-r--r--src/test/ui/consts/const-external-macro-const-err.stderr2
-rw-r--r--src/test/ui/consts/const-int-unchecked.rs47
-rw-r--r--src/test/ui/consts/const-int-unchecked.stderr232
-rw-r--r--src/test/ui/consts/const-len-underflow-separate-spans.rs1
-rw-r--r--src/test/ui/consts/const-len-underflow-separate-spans.stderr4
-rw-r--r--src/test/ui/consts/const-multi-ref.stderr10
-rw-r--r--src/test/ui/consts/const-mut-refs/const_mut_address_of.rs3
-rw-r--r--src/test/ui/consts/const-mut-refs/const_mut_address_of.stderr15
-rw-r--r--src/test/ui/consts/const-mut-refs/const_mut_refs.rs4
-rw-r--r--src/test/ui/consts/const-mut-refs/const_mut_refs.stderr21
-rw-r--r--src/test/ui/consts/const-mut-refs/mut_ref_in_final.rs57
-rw-r--r--src/test/ui/consts/const-mut-refs/mut_ref_in_final.stderr60
-rw-r--r--src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs29
-rw-r--r--src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr25
-rw-r--r--src/test/ui/consts/const-prop-read-static-in-const.rs1
-rw-r--r--src/test/ui/consts/const-prop-read-static-in-const.stderr2
-rw-r--r--src/test/ui/consts/const-size_of_val-align_of_val-extern-type.rs2
-rw-r--r--src/test/ui/consts/const-size_of_val-align_of_val-extern-type.stderr7
-rw-r--r--src/test/ui/consts/const-slice-oob.rs1
-rw-r--r--src/test/ui/consts/const-slice-oob.stderr2
-rw-r--r--src/test/ui/consts/const-unwrap.stderr4
-rw-r--r--src/test/ui/consts/const_let_assign3.stderr17
-rw-r--r--src/test/ui/consts/const_limit/const_eval_limit_reached.rs1
-rw-r--r--src/test/ui/consts/const_limit/const_eval_limit_reached.stderr3
-rw-r--r--src/test/ui/consts/const_unsafe_unreachable_ub.rs1
-rw-r--r--src/test/ui/consts/const_unsafe_unreachable_ub.stderr14
-rw-r--r--src/test/ui/consts/control-flow/assert.const_panic.stderr2
-rw-r--r--src/test/ui/consts/control-flow/assert.rs1
-rw-r--r--src/test/ui/consts/intrinsic_without_const_stab.rs17
-rw-r--r--src/test/ui/consts/intrinsic_without_const_stab.stderr9
-rw-r--r--src/test/ui/consts/intrinsic_without_const_stab_fail.rs15
-rw-r--r--src/test/ui/consts/intrinsic_without_const_stab_fail.stderr9
-rw-r--r--src/test/ui/consts/issue-17458.rs (renamed from src/test/ui/issues/issue-17458.rs)0
-rw-r--r--src/test/ui/consts/issue-17458.stderr (renamed from src/test/ui/issues/issue-17458.stderr)0
-rw-r--r--src/test/ui/consts/issue-17718-const-bad-values.rs3
-rw-r--r--src/test/ui/consts/issue-17718-const-bad-values.stderr12
-rw-r--r--src/test/ui/consts/issue-25826.rs (renamed from src/test/ui/issues/issue-25826.rs)0
-rw-r--r--src/test/ui/consts/issue-25826.stderr (renamed from src/test/ui/issues/issue-25826.stderr)0
-rw-r--r--src/test/ui/consts/issue-46553.rs (renamed from src/test/ui/issues/issue-46553.rs)0
-rw-r--r--src/test/ui/consts/issue-51559.rs1
-rw-r--r--src/test/ui/consts/issue-51559.stderr2
-rw-r--r--src/test/ui/consts/issue-54348.rs (renamed from src/test/ui/issues/issue-54348.rs)0
-rw-r--r--src/test/ui/consts/issue-54348.stderr (renamed from src/test/ui/issues/issue-54348.stderr)0
-rw-r--r--src/test/ui/consts/issue-79690.rs32
-rw-r--r--src/test/ui/consts/issue-79690.stderr11
-rw-r--r--src/test/ui/consts/min_const_fn/allow_raw_ptr_dereference_const_fn.rs3
-rw-r--r--src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs5
-rw-r--r--src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr38
-rw-r--r--src/test/ui/consts/offset_from_ub.stderr14
-rw-r--r--src/test/ui/consts/offset_ub.stderr32
-rw-r--r--src/test/ui/consts/projection_qualif.mut_refs.stderr19
-rw-r--r--src/test/ui/consts/projection_qualif.stock.stderr19
-rw-r--r--src/test/ui/consts/promote-not.rs7
-rw-r--r--src/test/ui/consts/promote-not.stderr59
-rw-r--r--src/test/ui/consts/promoted_div_by_zero.rs9
-rw-r--r--src/test/ui/consts/promotion.rs37
-rw-r--r--src/test/ui/consts/ptr_comparisons.rs11
-rw-r--r--src/test/ui/consts/ptr_comparisons.stderr29
-rw-r--r--src/test/ui/consts/read_from_static_mut_ref.rs9
-rw-r--r--src/test/ui/consts/read_from_static_mut_ref.stderr9
-rw-r--r--src/test/ui/consts/static_mut_containing_mut_ref2.mut_refs.stderr8
-rw-r--r--src/test/ui/consts/static_mut_containing_mut_ref2.rs3
-rw-r--r--src/test/ui/consts/static_mut_containing_mut_ref2.stock.stderr9
-rw-r--r--src/test/ui/consts/transmute-size-mismatch-before-typeck.rs1
-rw-r--r--src/test/ui/consts/transmute-size-mismatch-before-typeck.stderr2
-rw-r--r--src/test/ui/consts/uninhabited-const-issue-61744.rs1
-rw-r--r--src/test/ui/consts/uninhabited-const-issue-61744.stderr132
-rw-r--r--src/test/ui/consts/write_to_mut_ref_dest.mut_refs.stderr12
-rw-r--r--src/test/ui/consts/write_to_mut_ref_dest.rs (renamed from src/test/ui/consts/projection_qualif.rs)2
-rw-r--r--src/test/ui/consts/write_to_mut_ref_dest.stock.stderr21
-rw-r--r--src/test/ui/consts/write_to_static_via_mut_ref.rs8
-rw-r--r--src/test/ui/consts/write_to_static_via_mut_ref.stderr16
-rw-r--r--src/test/ui/derives/derive-Debug-use-ufcs-struct.rs40
-rw-r--r--src/test/ui/derives/derive-Debug-use-ufcs-tuple.rs32
-rw-r--r--src/test/ui/derives/derive-assoc-type-not-impl.stderr6
-rw-r--r--src/test/ui/destructuring-assignment/struct_destructure_fail.stderr8
-rw-r--r--src/test/ui/drop/dynamic-drop-async.rs167
-rw-r--r--src/test/ui/drop/dynamic-drop.rs441
-rw-r--r--src/test/ui/editions/edition-imports-virtual-2015-gated.stderr2
-rw-r--r--src/test/ui/emit-metadata-obj.rs7
-rw-r--r--src/test/ui/error-codes/E0017.rs9
-rw-r--r--src/test/ui/error-codes/E0017.stderr35
-rw-r--r--src/test/ui/error-codes/E0027.rs9
-rw-r--r--src/test/ui/error-codes/E0027.stderr40
-rw-r--r--src/test/ui/error-codes/E0040.fixed18
-rw-r--r--src/test/ui/error-codes/E0040.rs3
-rw-r--r--src/test/ui/error-codes/E0040.stderr10
-rw-r--r--src/test/ui/error-codes/E0283.rs18
-rw-r--r--src/test/ui/error-codes/E0283.stderr16
-rw-r--r--src/test/ui/error-codes/E0388.rs7
-rw-r--r--src/test/ui/error-codes/E0388.stderr29
-rw-r--r--src/test/ui/error-codes/E0396-fixed.rs1
-rw-r--r--src/test/ui/error-codes/E0396-fixed.stderr2
-rw-r--r--src/test/ui/explicit/explicit-call-to-dtor.fixed16
-rw-r--r--src/test/ui/explicit/explicit-call-to-dtor.rs2
-rw-r--r--src/test/ui/explicit/explicit-call-to-dtor.stderr10
-rw-r--r--src/test/ui/explicit/explicit-call-to-supertrait-dtor.fixed26
-rw-r--r--src/test/ui/explicit/explicit-call-to-supertrait-dtor.rs5
-rw-r--r--src/test/ui/explicit/explicit-call-to-supertrait-dtor.stderr10
-rw-r--r--src/test/ui/extern/extern-compare-with-return-type.rs1
-rw-r--r--src/test/ui/extern/issue-10763.rs (renamed from src/test/ui/issues/issue-10763.rs)0
-rw-r--r--src/test/ui/extern/issue-10764-rpass.rs (renamed from src/test/ui/issues/issue-10764-rpass.rs)0
-rw-r--r--src/test/ui/feature-gates/feature-gate-cfg-version.rs30
-rw-r--r--src/test/ui/feature-gates/feature-gate-cfg-version.stderr110
-rw-r--r--src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.rs17
-rw-r--r--src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.stderr25
-rw-r--r--src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr2
-rw-r--r--src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.rs10
-rw-r--r--src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.stderr14
-rw-r--r--src/test/ui/fmt/format-args-capture.rs2
-rw-r--r--src/test/ui/for-loop-while/issue-2216.rs (renamed from src/test/ui/issues/issue-2216.rs)0
-rw-r--r--src/test/ui/for-loop-while/issue-69841.rs (renamed from src/test/ui/issues/issue-69841.rs)0
-rw-r--r--src/test/ui/generator/ref-escapes-but-not-over-yield.stderr1
-rw-r--r--src/test/ui/generator/type-mismatch-signature-deduction.stderr10
-rw-r--r--src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs12
-rw-r--r--src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr29
-rw-r--r--src/test/ui/generic-associated-types/gat-in-trait-path.rs30
-rw-r--r--src/test/ui/generic-associated-types/gat-in-trait-path.stderr11
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs16
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr32
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs18
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr44
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs15
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr68
-rw-r--r--src/test/ui/generic-associated-types/issue-67510-pass.rs12
-rw-r--r--src/test/ui/generic-associated-types/issue-67510-pass.stderr11
-rw-r--r--src/test/ui/generic-associated-types/issue-67510.rs13
-rw-r--r--src/test/ui/generic-associated-types/issue-67510.stderr32
-rw-r--r--src/test/ui/generic-associated-types/issue-68648-1.rs26
-rw-r--r--src/test/ui/generic-associated-types/issue-68648-1.stderr11
-rw-r--r--src/test/ui/generic-associated-types/issue-68648-2.rs24
-rw-r--r--src/test/ui/generic-associated-types/issue-68648-2.stderr23
-rw-r--r--src/test/ui/generic-associated-types/issue-68649-pass.rs25
-rw-r--r--src/test/ui/generic-associated-types/issue-68649-pass.stderr11
-rw-r--r--src/test/ui/generic-associated-types/issue-74684-1.rs26
-rw-r--r--src/test/ui/generic-associated-types/issue-74684-1.stderr27
-rw-r--r--src/test/ui/generic-associated-types/issue-74684-2.rs26
-rw-r--r--src/test/ui/generic-associated-types/issue-74684-2.stderr21
-rw-r--r--src/test/ui/generic-associated-types/issue-76535.rs41
-rw-r--r--src/test/ui/generic-associated-types/issue-76535.stderr63
-rw-r--r--src/test/ui/generic-associated-types/issue-79422.rs47
-rw-r--r--src/test/ui/generic-associated-types/issue-79422.stderr54
-rw-r--r--src/test/ui/generic-associated-types/issue-80433-reduced.rs24
-rw-r--r--src/test/ui/generic-associated-types/issue-80433.rs35
-rw-r--r--src/test/ui/generic-associated-types/issue-80433.stderr19
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr4
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-expressions.rs2
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr8
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr4
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-segments.rs6
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-segments.stderr26
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs6
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr51
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-types.rs6
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-types.stderr24
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-unimplemented.rs17
-rw-r--r--src/test/ui/generic-associated-types/parse/trait-path-unimplemented.stderr14
-rw-r--r--src/test/ui/generic-associated-types/variance_constraints.rs24
-rw-r--r--src/test/ui/generics/wrong-number-of-args.rs2
-rw-r--r--src/test/ui/generics/wrong-number-of-args.stderr2
-rw-r--r--src/test/ui/hrtb/issue-30786.migrate.stderr12
-rw-r--r--src/test/ui/hrtb/issue-30786.nll.stderr12
-rw-r--r--src/test/ui/hrtb/issue-30786.rs8
-rw-r--r--src/test/ui/hygiene/no_implicit_prelude-2021.rs9
-rw-r--r--src/test/ui/hygiene/traits-in-scope.rs53
-rw-r--r--src/test/ui/illegal-ufcs-drop.fixed10
-rw-r--r--src/test/ui/illegal-ufcs-drop.rs1
-rw-r--r--src/test/ui/illegal-ufcs-drop.stderr2
-rw-r--r--src/test/ui/impl-header-lifetime-elision/dyn-trait.nll.stderr1
-rw-r--r--src/test/ui/impl-trait/trait_type.stderr8
-rw-r--r--src/test/ui/inference/cannot-infer-closure-circular.stderr4
-rw-r--r--src/test/ui/inference/cannot-infer-closure.stderr6
-rw-r--r--src/test/ui/inference/cannot-infer-partial-try-return.stderr6
-rw-r--r--src/test/ui/inference/issue-72616.stderr2
-rw-r--r--src/test/ui/internal/internal-unstable.rs13
-rw-r--r--src/test/ui/internal/internal-unstable.stderr10
-rw-r--r--src/test/ui/issue-74047.stderr2
-rw-r--r--src/test/ui/issues/issue-11844.stderr4
-rw-r--r--src/test/ui/issues/issue-12552.stderr12
-rw-r--r--src/test/ui/issues/issue-13466.rs8
-rw-r--r--src/test/ui/issues/issue-13466.stderr8
-rw-r--r--src/test/ui/issues/issue-16683.nll.stderr1
-rw-r--r--src/test/ui/issues/issue-17758.nll.stderr1
-rw-r--r--src/test/ui/issues/issue-18919.stderr2
-rw-r--r--src/test/ui/issues/issue-1962.fixed4
-rw-r--r--src/test/ui/issues/issue-1962.rs4
-rw-r--r--src/test/ui/issues/issue-1962.stderr4
-rw-r--r--src/test/ui/issues/issue-21332.rs2
-rw-r--r--src/test/ui/issues/issue-21332.stderr4
-rw-r--r--src/test/ui/issues/issue-21596.stderr6
-rw-r--r--src/test/ui/issues/issue-23122-2.stderr3
-rw-r--r--src/test/ui/issues/issue-23281.stderr2
-rw-r--r--src/test/ui/issues/issue-27042.stderr2
-rw-r--r--src/test/ui/issues/issue-29821.rs19
-rw-r--r--src/test/ui/issues/issue-31173.rs2
-rw-r--r--src/test/ui/issues/issue-31173.stderr6
-rw-r--r--src/test/ui/issues/issue-34334.rs4
-rw-r--r--src/test/ui/issues/issue-34334.stderr11
-rw-r--r--src/test/ui/issues/issue-35677.rs2
-rw-r--r--src/test/ui/issues/issue-35677.stderr6
-rw-r--r--src/test/ui/issues/issue-3680.rs4
-rw-r--r--src/test/ui/issues/issue-3680.stderr4
-rw-r--r--src/test/ui/issues/issue-43424.stderr4
-rw-r--r--src/test/ui/issues/issue-46604.rs2
-rw-r--r--src/test/ui/issues/issue-46604.stderr4
-rw-r--r--src/test/ui/issues/issue-4736.stderr2
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.rs2
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.stderr6
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.rs2
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.stderr6
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.rs2
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.stderr6
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.rs2
-rw-r--r--src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.stderr6
-rw-r--r--src/test/ui/issues/issue-51632-try-desugar-incompatible-types.stderr4
-rw-r--r--src/test/ui/issues/issue-57362-2.rs2
-rw-r--r--src/test/ui/issues/issue-57362-2.stderr6
-rw-r--r--src/test/ui/issues/issue-6458-4.stderr4
-rw-r--r--src/test/ui/issues/issue-69725.rs2
-rw-r--r--src/test/ui/issues/issue-69725.stderr6
-rw-r--r--src/test/ui/issues/issue-80607.stderr2
-rw-r--r--src/test/ui/label/label_misspelled.rs50
-rw-r--r--src/test/ui/label/label_misspelled.stderr211
-rw-r--r--src/test/ui/label/label_misspelled_2.rs16
-rw-r--r--src/test/ui/label/label_misspelled_2.stderr37
-rw-r--r--src/test/ui/lifetimes/lifetime-bound-will-change-warning.nll.stderr1
-rw-r--r--src/test/ui/lifetimes/lifetime-elision-return-type-trait.stderr4
-rw-r--r--src/test/ui/limits/huge-array-simple-32.rs (renamed from src/test/ui/huge-array-simple-32.rs)0
-rw-r--r--src/test/ui/limits/huge-array-simple-32.stderr (renamed from src/test/ui/huge-array-simple-32.stderr)0
-rw-r--r--src/test/ui/limits/huge-array-simple-64.rs (renamed from src/test/ui/huge-array-simple-64.rs)0
-rw-r--r--src/test/ui/limits/huge-array-simple-64.stderr (renamed from src/test/ui/huge-array-simple-64.stderr)0
-rw-r--r--src/test/ui/limits/huge-array.rs (renamed from src/test/ui/huge-array.rs)0
-rw-r--r--src/test/ui/limits/huge-array.stderr (renamed from src/test/ui/huge-array.stderr)0
-rw-r--r--src/test/ui/limits/huge-enum.rs (renamed from src/test/ui/huge-enum.rs)0
-rw-r--r--src/test/ui/limits/huge-enum.stderr (renamed from src/test/ui/huge-enum.stderr)0
-rw-r--r--src/test/ui/limits/huge-struct.rs (renamed from src/test/ui/huge-struct.rs)0
-rw-r--r--src/test/ui/limits/huge-struct.stderr (renamed from src/test/ui/huge-struct.stderr)0
-rw-r--r--src/test/ui/limits/issue-15919-32.rs (renamed from src/test/ui/issues/issue-15919-32.rs)0
-rw-r--r--src/test/ui/limits/issue-15919-32.stderr (renamed from src/test/ui/issues/issue-15919-32.stderr)0
-rw-r--r--src/test/ui/limits/issue-15919-64.rs (renamed from src/test/ui/issues/issue-15919-64.rs)0
-rw-r--r--src/test/ui/limits/issue-15919-64.stderr (renamed from src/test/ui/issues/issue-15919-64.stderr)0
-rw-r--r--src/test/ui/limits/issue-17913.rs (renamed from src/test/ui/issues/issue-17913.rs)0
-rw-r--r--src/test/ui/limits/issue-17913.stderr (renamed from src/test/ui/issues/issue-17913.stderr)0
-rw-r--r--src/test/ui/limits/issue-55878.rs (renamed from src/test/ui/consts/issue-55878.rs)0
-rw-r--r--src/test/ui/limits/issue-55878.stderr (renamed from src/test/ui/consts/issue-55878.stderr)9
-rw-r--r--src/test/ui/limits/issue-56762.rs (renamed from src/test/ui/issues/issue-56762.rs)0
-rw-r--r--src/test/ui/limits/issue-56762.stderr (renamed from src/test/ui/issues/issue-56762.stderr)0
-rw-r--r--src/test/ui/limits/issue-69485-var-size-diffs-too-large.rs (renamed from src/test/ui/lint/issue-69485-var-size-diffs-too-large.rs)0
-rw-r--r--src/test/ui/limits/issue-69485-var-size-diffs-too-large.stderr (renamed from src/test/ui/lint/issue-69485-var-size-diffs-too-large.stderr)0
-rw-r--r--src/test/ui/limits/issue-75158-64.rs16
-rw-r--r--src/test/ui/limits/issue-75158-64.stderr4
-rw-r--r--src/test/ui/lint/dead-code/const-and-self.rs21
-rw-r--r--src/test/ui/lint/dead-code/const-and-self.stderr20
-rw-r--r--src/test/ui/lint/dead-code/write-only-field.rs20
-rw-r--r--src/test/ui/lint/dead-code/write-only-field.stderr26
-rw-r--r--src/test/ui/lint/forbid-group-group-1.rs13
-rw-r--r--src/test/ui/lint/forbid-group-group-1.stderr15
-rw-r--r--src/test/ui/lint/forbid-group-group-2.rs26
-rw-r--r--src/test/ui/lint/forbid-group-group-2.stderr115
-rw-r--r--src/test/ui/lint/forbid-group-member.rs19
-rw-r--r--src/test/ui/lint/forbid-group-member.stderr51
-rw-r--r--src/test/ui/lint/forbid-member-group.rs12
-rw-r--r--src/test/ui/lint/forbid-member-group.stderr30
-rw-r--r--src/test/ui/lint/issue-14309.rs (renamed from src/test/ui/issues/issue-14309.rs)0
-rw-r--r--src/test/ui/lint/issue-14309.stderr (renamed from src/test/ui/issues/issue-14309.stderr)0
-rw-r--r--src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs7
-rw-r--r--src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr30
-rw-r--r--src/test/ui/lint/issue-80988.rs16
-rw-r--r--src/test/ui/lint/issue-80988.stderr51
-rw-r--r--src/test/ui/lint/issue-81218.rs14
-rw-r--r--src/test/ui/lint/lint-const-item-mutation.stderr10
-rw-r--r--src/test/ui/lint/lint-ctypes-enum.stderr2
-rw-r--r--src/test/ui/lint/lint-removed-cmdline.stderr8
-rw-r--r--src/test/ui/lint/lint-removed.stderr2
-rw-r--r--src/test/ui/lint/lint-unexported-no-mangle.stderr16
-rw-r--r--src/test/ui/lint/must_use-tuple.rs10
-rw-r--r--src/test/ui/lint/must_use-tuple.stderr10
-rw-r--r--src/test/ui/lint/outer-forbid.rs5
-rw-r--r--src/test/ui/lint/outer-forbid.stderr37
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/allow-semicolon-in-expressions-from-macros.rs15
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs41
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr33
-rw-r--r--src/test/ui/lint/special-upper-lower-cases.stderr8
-rw-r--r--src/test/ui/llvm-asm/issue-33264.rs (renamed from src/test/ui/issues/issue-33264.rs)0
-rw-r--r--src/test/ui/loops/loop-break-value-no-repeat.stderr4
-rw-r--r--src/test/ui/loops/loop-break-value.rs1
-rw-r--r--src/test/ui/loops/loop-break-value.stderr70
-rw-r--r--src/test/ui/macros/assert-macro-owned.rs2
-rw-r--r--src/test/ui/macros/issue-81006.rs10
-rw-r--r--src/test/ui/macros/issue-81006.stderr14
-rw-r--r--src/test/ui/macros/issue-8709.rs (renamed from src/test/ui/issues/issue-8709.rs)0
-rw-r--r--src/test/ui/macros/macro-comma-behavior-rpass.rs2
-rw-r--r--src/test/ui/macros/must-use-in-macro-55516.stderr2
-rw-r--r--src/test/ui/macros/vec-macro-in-pattern.rs10
-rw-r--r--src/test/ui/macros/vec-macro-in-pattern.stderr10
-rw-r--r--src/test/ui/methods/method-call-err-msg.rs2
-rw-r--r--src/test/ui/methods/method-call-err-msg.stderr6
-rw-r--r--src/test/ui/methods/method-lookup-order.rs190
-rw-r--r--src/test/ui/mir/issue-80742.rs33
-rw-r--r--src/test/ui/mir/issue-80742.stderr70
-rw-r--r--src/test/ui/mir/issue-80949.rs34
-rw-r--r--src/test/ui/mir/mir_drop_order.rs2
-rw-r--r--src/test/ui/mismatched_types/abridged.stderr10
-rw-r--r--src/test/ui/mismatched_types/binops.rs2
-rw-r--r--src/test/ui/mismatched_types/binops.stderr6
-rw-r--r--src/test/ui/mismatched_types/issue-36053-2.rs2
-rw-r--r--src/test/ui/mismatched_types/issue-36053-2.stderr6
-rw-r--r--src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs2
-rw-r--r--src/test/ui/mismatched_types/method-help-unsatisfied-bound.stderr6
-rw-r--r--src/test/ui/never_type/issue-52443.stderr9
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr8
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr3
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr1
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr1
-rw-r--r--src/test/ui/nll/issue-45696-scribble-on-boxed-borrow.rs (renamed from src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.rs)0
-rw-r--r--src/test/ui/nll/issue-45696-scribble-on-boxed-borrow.stderr (renamed from src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.stderr)0
-rw-r--r--src/test/ui/nll/issue-46036.rs (renamed from src/test/ui/issues/issue-46036.rs)0
-rw-r--r--src/test/ui/nll/issue-46036.stderr (renamed from src/test/ui/issues/issue-46036.stderr)0
-rw-r--r--src/test/ui/nll/issue-54556-niconii.stderr2
-rw-r--r--src/test/ui/nll/issue-57642-higher-ranked-subtype.rs2
-rw-r--r--src/test/ui/nll/issue-57642-higher-ranked-subtype.stderr6
-rw-r--r--src/test/ui/nll/outlives-suggestion-simple.stderr1
-rw-r--r--src/test/ui/nll/user-annotations/closure-substs.stderr1
-rw-r--r--src/test/ui/non-fmt-panic.rs (renamed from src/test/ui/panic-brace.rs)12
-rw-r--r--src/test/ui/non-fmt-panic.stderr (renamed from src/test/ui/panic-brace.stderr)116
-rw-r--r--src/test/ui/numeric/numeric-fields.stderr2
-rw-r--r--src/test/ui/object-lifetime/object-lifetime-default-mybox.nll.stderr1
-rw-r--r--src/test/ui/or-patterns/inconsistent-modes.stderr2
-rw-r--r--src/test/ui/or-patterns/macro-pat.rs (renamed from src/test/ui/pattern/or-pattern-macro-pat.rs)0
-rw-r--r--src/test/ui/panics/explicit-panic-msg.rs1
-rw-r--r--src/test/ui/panics/panic-2021.rs9
-rw-r--r--src/test/ui/panics/panic-2021.stderr42
-rw-r--r--src/test/ui/panics/panic-macro-any-wrapped.rs2
-rw-r--r--src/test/ui/panics/panic-macro-any.rs1
-rw-r--r--src/test/ui/panics/while-panic.rs2
-rw-r--r--src/test/ui/parser/ascii-only-character-escape.rs6
-rw-r--r--src/test/ui/parser/ascii-only-character-escape.stderr12
-rw-r--r--src/test/ui/parser/bad-char-literals.rs8
-rw-r--r--src/test/ui/parser/bad-char-literals.stderr16
-rw-r--r--src/test/ui/parser/byte-literals.rs4
-rw-r--r--src/test/ui/parser/byte-literals.stderr25
-rw-r--r--src/test/ui/parser/byte-string-literals.rs5
-rw-r--r--src/test/ui/parser/byte-string-literals.stderr27
-rw-r--r--src/test/ui/parser/issue-20616-8.rs (renamed from src/test/ui/issues/issue-20616-8.rs)0
-rw-r--r--src/test/ui/parser/issue-20616-8.stderr (renamed from src/test/ui/issues/issue-20616-8.stderr)0
-rw-r--r--src/test/ui/parser/issue-20616-9.rs (renamed from src/test/ui/issues/issue-20616-9.rs)0
-rw-r--r--src/test/ui/parser/issue-20616-9.stderr (renamed from src/test/ui/issues/issue-20616-9.stderr)0
-rw-r--r--src/test/ui/parser/issue-23620-invalid-escapes.rs14
-rw-r--r--src/test/ui/parser/issue-23620-invalid-escapes.stderr34
-rw-r--r--src/test/ui/parser/issue-43692.stderr4
-rw-r--r--src/test/ui/parser/issue-57198.rs (renamed from src/test/ui/issues/issue-57198.rs)0
-rw-r--r--src/test/ui/parser/issue-57198.stderr (renamed from src/test/ui/issues/issue-57198.stderr)0
-rw-r--r--src/test/ui/parser/issue-57684.fixed (renamed from src/test/ui/issues/issue-57684.fixed)0
-rw-r--r--src/test/ui/parser/issue-57684.rs (renamed from src/test/ui/issues/issue-57684.rs)0
-rw-r--r--src/test/ui/parser/issue-57684.stderr (renamed from src/test/ui/issues/issue-57684.stderr)0
-rw-r--r--src/test/ui/parser/issue-57819.fixed (renamed from src/test/ui/issues/issue-57819.fixed)0
-rw-r--r--src/test/ui/parser/issue-57819.rs (renamed from src/test/ui/issues/issue-57819.rs)0
-rw-r--r--src/test/ui/parser/issue-57819.stderr (renamed from src/test/ui/issues/issue-57819.stderr)0
-rw-r--r--src/test/ui/parser/issue-58856-1.rs (renamed from src/test/ui/issues/issue-58856-1.rs)0
-rw-r--r--src/test/ui/parser/issue-58856-1.stderr (renamed from src/test/ui/issues/issue-58856-1.stderr)0
-rw-r--r--src/test/ui/parser/issue-62913.stderr2
-rw-r--r--src/test/ui/parser/issue-64732.rs (renamed from src/test/ui/issues/issue-64732.rs)0
-rw-r--r--src/test/ui/parser/issue-64732.stderr (renamed from src/test/ui/issues/issue-64732.stderr)6
-rw-r--r--src/test/ui/parser/issue-7970b.rs (renamed from src/test/ui/issues/issue-7970b.rs)0
-rw-r--r--src/test/ui/parser/issue-7970b.stderr (renamed from src/test/ui/issues/issue-7970b.stderr)0
-rw-r--r--src/test/ui/parser/issue-8537.stderr2
-rw-r--r--src/test/ui/parser/lex-bad-char-literals-1.stderr8
-rw-r--r--src/test/ui/parser/lex-bad-char-literals-7.rs2
-rw-r--r--src/test/ui/parser/lex-bad-char-literals-7.stderr6
-rw-r--r--src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.rs2
-rw-r--r--src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.stderr6
-rw-r--r--src/test/ui/parser/macro/literals-are-validated-before-expansion.stderr4
-rw-r--r--src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.rs23
-rw-r--r--src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.stderr49
-rw-r--r--src/test/ui/parser/nested-missing-closing-angle-bracket.rs4
-rw-r--r--src/test/ui/parser/nested-missing-closing-angle-bracket.stderr8
-rw-r--r--src/test/ui/parser/new-unicode-escapes-1.rs2
-rw-r--r--src/test/ui/parser/new-unicode-escapes-1.stderr9
-rw-r--r--src/test/ui/parser/new-unicode-escapes-2.rs2
-rw-r--r--src/test/ui/parser/new-unicode-escapes-2.stderr4
-rw-r--r--src/test/ui/parser/new-unicode-escapes-3.stderr4
-rw-r--r--src/test/ui/parser/new-unicode-escapes-4.rs2
-rw-r--r--src/test/ui/parser/new-unicode-escapes-4.stderr4
-rw-r--r--src/test/ui/parser/raw/raw-byte-string-literals.stderr2
-rw-r--r--src/test/ui/parser/trailing-carriage-return-in-string.rs4
-rw-r--r--src/test/ui/parser/trailing-carriage-return-in-string.stderr2
-rw-r--r--src/test/ui/parser/unclosed-delimiter-in-dep.stderr4
-rw-r--r--src/test/ui/parser/wrong-escape-of-curly-braces.rs8
-rw-r--r--src/test/ui/parser/wrong-escape-of-curly-braces.stderr4
-rw-r--r--src/test/ui/pattern/bindings-after-at/borrowck-move-and-move.stderr4
-rw-r--r--src/test/ui/pattern/bindings-after-at/borrowck-pat-ref-mut-and-ref.stderr4
-rw-r--r--src/test/ui/pattern/pat-struct-field-expr-has-type.stderr4
-rw-r--r--src/test/ui/pattern/pat-tuple-underfield.stderr4
-rw-r--r--src/test/ui/pattern/pat-type-err-let-stmt.stderr12
-rw-r--r--src/test/ui/pattern/usefulness/non-exhaustive-match-nested.stderr2
-rw-r--r--src/test/ui/proc-macro/ambiguous-builtin-attrs.rs10
-rw-r--r--src/test/ui/proc-macro/ambiguous-builtin-attrs.stderr27
-rw-r--r--src/test/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs23
-rw-r--r--src/test/ui/proc-macro/issue-81007-item-attrs.rs31
-rw-r--r--src/test/ui/proc-macro/issue-81007-item-attrs.stdout99
-rw-r--r--src/test/ui/proc-macro/issue-81543-item-parse-err.rs14
-rw-r--r--src/test/ui/proc-macro/issue-81543-item-parse-err.stderr8
-rw-r--r--src/test/ui/proc-macro/lifetimes.stderr7
-rw-r--r--src/test/ui/proc-macro/nonterminal-recollect-attr.rs17
-rw-r--r--src/test/ui/recursion/recursive-types-are-not-uninhabited.stderr2
-rw-r--r--src/test/ui/regions/issue-78262.nll.stderr1
-rw-r--r--src/test/ui/regions/region-invariant-static-error-reporting.nll.stderr1
-rw-r--r--src/test/ui/regions/regions-bounded-method-type-parameters-trait-bound.nll.stderr1
-rw-r--r--src/test/ui/regions/regions-nested-fns.nll.stderr3
-rw-r--r--src/test/ui/resolve/crate-called-as-function.rs3
-rw-r--r--src/test/ui/resolve/crate-called-as-function.stderr9
-rw-r--r--src/test/ui/resolve/issue-50599.rs (renamed from src/test/ui/issues/issue-50599.rs)0
-rw-r--r--src/test/ui/resolve/issue-50599.stderr (renamed from src/test/ui/issues/issue-50599.stderr)0
-rw-r--r--src/test/ui/resolve/missing-in-namespace.rs4
-rw-r--r--src/test/ui/resolve/missing-in-namespace.stderr14
-rw-r--r--src/test/ui/rfc-1937-termination-trait/termination-trait-test-wrong-type.stderr4
-rw-r--r--src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs2
-rw-r--r--src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr4
-rw-r--r--src/test/ui/rfc-2294-if-let-guard/typeck.stderr4
-rw-r--r--src/test/ui/simd/issue-32947.rs (renamed from src/test/ui/issues/issue-32947.rs)0
-rw-r--r--src/test/ui/span/impl-wrong-item-for-trait.stderr2
-rw-r--r--src/test/ui/span/import-ty-params.rs3
-rw-r--r--src/test/ui/span/import-ty-params.stderr16
-rw-r--r--src/test/ui/span/visibility-ty-params.stderr8
-rw-r--r--src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.rs2
-rw-r--r--src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr6
-rw-r--r--src/test/ui/specialization/min_specialization/repeated_projection_type.stderr2
-rw-r--r--src/test/ui/stability-attribute/stability-attribute-sanity.stderr2
-rw-r--r--src/test/ui/stability-attribute/stability-attribute-trait-impl.rs2
-rw-r--r--src/test/ui/stability-attribute/stability-attribute-trait-impl.stderr2
-rw-r--r--src/test/ui/structs/struct-pat-derived-error.stderr4
-rw-r--r--src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr4
-rw-r--r--src/test/ui/suggestions/as-ref.stderr12
-rw-r--r--src/test/ui/suggestions/field-access.fixed35
-rw-r--r--src/test/ui/suggestions/field-access.rs35
-rw-r--r--src/test/ui/suggestions/field-access.stderr67
-rw-r--r--src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.nll.stderr1
-rw-r--r--src/test/ui/suggestions/issue-81098.rs13
-rw-r--r--src/test/ui/suggestions/issue-81098.stderr23
-rw-r--r--src/test/ui/suggestions/missing-trait-bounds-for-method-call.rs4
-rw-r--r--src/test/ui/suggestions/missing-trait-bounds-for-method-call.stderr12
-rw-r--r--src/test/ui/suggestions/mut-borrow-needed-by-trait.rs2
-rw-r--r--src/test/ui/suggestions/mut-borrow-needed-by-trait.stderr6
-rw-r--r--src/test/ui/suggestions/mut-ref-reassignment.stderr2
-rw-r--r--src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.rs43
-rw-r--r--src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.stderr11
-rw-r--r--src/test/ui/suggestions/non-existent-field-present-in-subfield.fixed42
-rw-r--r--src/test/ui/suggestions/non-existent-field-present-in-subfield.rs42
-rw-r--r--src/test/ui/suggestions/non-existent-field-present-in-subfield.stderr27
-rw-r--r--src/test/ui/suggestions/option-content-move.stderr2
-rw-r--r--src/test/ui/suggestions/suggest-box.stderr2
-rw-r--r--src/test/ui/suggestions/vec-macro-in-pattern.fixed8
-rw-r--r--src/test/ui/suggestions/vec-macro-in-pattern.rs8
-rw-r--r--src/test/ui/suggestions/vec-macro-in-pattern.stderr16
-rw-r--r--src/test/ui/test-attrs/issue-53675-a-test-called-panic.rs (renamed from src/test/ui/issues/issue-53675-a-test-called-panic.rs)0
-rw-r--r--src/test/ui/threads-sendsync/issue-4446.rs (renamed from src/test/ui/issues/issue-4446.rs)0
-rw-r--r--src/test/ui/traits/issue-33140-hack-boundaries.rs (renamed from src/test/ui/issues/issue-33140-hack-boundaries.rs)0
-rw-r--r--src/test/ui/traits/issue-33140-hack-boundaries.stderr (renamed from src/test/ui/issues/issue-33140-hack-boundaries.stderr)0
-rw-r--r--src/test/ui/traits/issue-3683.rs (renamed from src/test/ui/issues/issue-3683.rs)0
-rw-r--r--src/test/ui/traits/issue-56202.rs (renamed from src/test/ui/issues/issue-56202.rs)0
-rw-r--r--src/test/ui/traits/issue-56488.rs (renamed from src/test/ui/issues/issue-56488.rs)0
-rw-r--r--src/test/ui/traits/issue-59029-2.rs (renamed from src/test/ui/issues/issue-59029-2.rs)0
-rw-r--r--src/test/ui/traits/issue-6128.rs (renamed from src/test/ui/issues/issue-6128.rs)0
-rw-r--r--src/test/ui/traits/issue-65284-suggest-generic-trait-bound.rs (renamed from src/test/ui/issues/issue-65284-suggest-generic-trait-bound.rs)0
-rw-r--r--src/test/ui/traits/issue-65284-suggest-generic-trait-bound.stderr (renamed from src/test/ui/issues/issue-65284-suggest-generic-trait-bound.stderr)0
-rw-r--r--src/test/ui/traits/mutual-recursion-issue-75860.rs15
-rw-r--r--src/test/ui/traits/mutual-recursion-issue-75860.stderr16
-rw-r--r--src/test/ui/traits/self-without-lifetime-constraint.stderr8
-rw-r--r--src/test/ui/try-block/try-block-bad-type.stderr4
-rw-r--r--src/test/ui/type/ascription/issue-47666.stderr2
-rw-r--r--src/test/ui/typeck/issue-80207-unsized-return.rs20
-rw-r--r--src/test/ui/typeck/issue-81293.rs9
-rw-r--r--src/test/ui/typeck/issue-81293.stderr24
-rw-r--r--src/test/ui/typeck/typeck_type_placeholder_item_help.rs13
-rw-r--r--src/test/ui/typeck/typeck_type_placeholder_item_help.stderr19
-rw-r--r--src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr4
-rw-r--r--src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr4
-rw-r--r--src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr4
-rw-r--r--src/test/ui/underscore-imports/hygiene.rs10
-rw-r--r--src/test/ui/underscore-imports/hygiene.stderr27
-rw-r--r--src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr6
-rw-r--r--src/test/ui/union/union-derive-clone.rs2
-rw-r--r--src/test/ui/union/union-derive-clone.stderr6
-rw-r--r--src/test/ui/unique-object-noncopyable.rs2
-rw-r--r--src/test/ui/unique-object-noncopyable.stderr6
-rw-r--r--src/test/ui/unique-pinned-nocopy.rs2
-rw-r--r--src/test/ui/unique-pinned-nocopy.stderr6
-rw-r--r--src/test/ui/unsafe/ranged_ints2_const.rs6
-rw-r--r--src/test/ui/unsafe/ranged_ints2_const.stderr11
-rw-r--r--src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.rs5
-rw-r--r--src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.stderr50
-rw-r--r--src/test/ui/unsized/unchanged-param.rs12
-rw-r--r--src/test/ui/unsized/unsized-enum.stderr2
-rw-r--r--src/test/ui/unsized/unsized-inherent-impl-self-type.stderr2
-rw-r--r--src/test/ui/unsized/unsized-struct.stderr2
-rw-r--r--src/test/ui/unsized/unsized-trait-impl-self-type.stderr2
-rw-r--r--src/test/ui/unsupported-cast.rs7
-rw-r--r--src/test/ui/unused/unused-closure.rs5
-rw-r--r--src/test/ui/unused/unused-closure.stderr28
-rw-r--r--src/test/ui/wf/wf-fn-where-clause.stderr2
921 files changed, 22671 insertions, 14829 deletions
diff --git a/src/test/codegen/abi-repr-ext.rs b/src/test/codegen/abi-repr-ext.rs
new file mode 100644
index 00000000000..f93ccd79411
--- /dev/null
+++ b/src/test/codegen/abi-repr-ext.rs
@@ -0,0 +1,13 @@
+#![crate_type="lib"]
+
+#[repr(i8)]
+pub enum Type {
+    Type1 = 0,
+    Type2 = 1
+}
+
+// CHECK: define signext i8 @test()
+#[no_mangle]
+pub extern "C" fn test() -> Type {
+    Type::Type1
+}
diff --git a/src/test/codegen/asm-sanitize-llvm.rs b/src/test/codegen/asm-sanitize-llvm.rs
new file mode 100644
index 00000000000..fe09caa6973
--- /dev/null
+++ b/src/test/codegen/asm-sanitize-llvm.rs
@@ -0,0 +1,32 @@
+// FIXME(nagisa): remove the flags here once all targets support `asm!`.
+// compile-flags: --target x86_64-unknown-linux-gnu
+
+// Verify we sanitize the special tokens for the LLVM inline-assembly, ensuring people won't
+// inadvertently rely on the LLVM-specific syntax and features.
+#![no_core]
+#![feature(no_core, lang_items, rustc_attrs)]
+#![crate_type = "rlib"]
+
+#[rustc_builtin_macro]
+macro_rules! asm {
+    () => {};
+}
+
+#[lang = "sized"]
+trait Sized {}
+#[lang = "copy"]
+trait Copy {}
+
+pub unsafe fn we_escape_dollar_signs() {
+    // CHECK: call void asm sideeffect alignstack inteldialect "banana$$:"
+    asm!(
+        r"banana$:",
+    )
+}
+
+pub unsafe fn we_escape_escapes_too() {
+    // CHECK: call void asm sideeffect alignstack inteldialect "banana\{{(\\|5C)}}36:"
+    asm!(
+        r"banana\36:",
+    )
+}
diff --git a/src/test/codegen/vec-shrink-panic.rs b/src/test/codegen/vec-shrink-panic.rs
index cee4128c650..6b0ac78857a 100644
--- a/src/test/codegen/vec-shrink-panic.rs
+++ b/src/test/codegen/vec-shrink-panic.rs
@@ -26,11 +26,3 @@ pub fn issue75636<'a>(iter: &[&'a str]) -> Box<[&'a str]> {
     // CHECK-NOT: panic
     iter.iter().copied().collect()
 }
-
-// Sanity-check that we do see a possible panic for an arbitrary `Vec::shrink_to`.
-// CHECK-LABEL: @shrink_to
-#[no_mangle]
-pub fn shrink_to(vec: &mut Vec<u32>) {
-    // CHECK: panic
-    vec.shrink_to(42);
-}
diff --git a/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir b/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
index 0c7b64cb97f..7e0ca3dea4b 100644
--- a/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
+++ b/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
@@ -41,36 +41,44 @@ fn main() -> () {
         StorageLive(_5);                 // scope 3 at $DIR/basic_assignment.rs:19:9: 19:15
         StorageLive(_6);                 // scope 4 at $DIR/basic_assignment.rs:23:14: 23:20
         _6 = move _4;                    // scope 4 at $DIR/basic_assignment.rs:23:14: 23:20
-        replace(_5 <- move _6) -> [return: bb1, unwind: bb4]; // scope 4 at $DIR/basic_assignment.rs:23:5: 23:11
+        replace(_5 <- move _6) -> [return: bb1, unwind: bb5]; // scope 4 at $DIR/basic_assignment.rs:23:5: 23:11
     }
 
     bb1: {
+        drop(_6) -> [return: bb2, unwind: bb6]; // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
+    }
+
+    bb2: {
         StorageDead(_6);                 // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
         _0 = const ();                   // scope 0 at $DIR/basic_assignment.rs:10:11: 24:2
-        drop(_5) -> [return: bb2, unwind: bb5]; // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
+        drop(_5) -> [return: bb3, unwind: bb7]; // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
     }
 
-    bb2: {
+    bb3: {
         StorageDead(_5);                 // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
-        drop(_4) -> [return: bb3, unwind: bb6]; // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
+        drop(_4) -> [return: bb4, unwind: bb8]; // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
     }
 
-    bb3: {
+    bb4: {
         StorageDead(_4);                 // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
         StorageDead(_2);                 // scope 1 at $DIR/basic_assignment.rs:24:1: 24:2
         StorageDead(_1);                 // scope 0 at $DIR/basic_assignment.rs:24:1: 24:2
         return;                          // scope 0 at $DIR/basic_assignment.rs:24:2: 24:2
     }
 
-    bb4 (cleanup): {
-        drop(_5) -> bb5;                 // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
-    }
-
     bb5 (cleanup): {
-        drop(_4) -> bb6;                 // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
+        drop(_6) -> bb6;                 // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
     }
 
     bb6 (cleanup): {
+        drop(_5) -> bb7;                 // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
+    }
+
+    bb7 (cleanup): {
+        drop(_4) -> bb8;                 // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
+    }
+
+    bb8 (cleanup): {
         resume;                          // scope 0 at $DIR/basic_assignment.rs:10:1: 24:2
     }
 }
diff --git a/src/test/mir-opt/box_expr.main.ElaborateDrops.before.mir b/src/test/mir-opt/box_expr.main.ElaborateDrops.before.mir
index 20ea7b026bc..cfbd3a58637 100644
--- a/src/test/mir-opt/box_expr.main.ElaborateDrops.before.mir
+++ b/src/test/mir-opt/box_expr.main.ElaborateDrops.before.mir
@@ -14,7 +14,7 @@ fn main() -> () {
         StorageLive(_1);                 // scope 0 at $DIR/box_expr.rs:7:9: 7:10
         StorageLive(_2);                 // scope 0 at $DIR/box_expr.rs:7:13: 7:25
         _2 = Box(S);                     // scope 0 at $DIR/box_expr.rs:7:13: 7:25
-        (*_2) = S::new() -> [return: bb1, unwind: bb5]; // scope 0 at $DIR/box_expr.rs:7:17: 7:25
+        (*_2) = S::new() -> [return: bb1, unwind: bb7]; // scope 0 at $DIR/box_expr.rs:7:17: 7:25
                                          // mir::Constant
                                          // + span: $DIR/box_expr.rs:7:17: 7:23
                                          // + literal: Const { ty: fn() -> S {S::new}, val: Value(Scalar(<ZST>)) }
@@ -22,37 +22,45 @@ fn main() -> () {
 
     bb1: {
         _1 = move _2;                    // scope 0 at $DIR/box_expr.rs:7:13: 7:25
+        drop(_2) -> bb2;                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
+    }
+
+    bb2: {
         StorageDead(_2);                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
         StorageLive(_3);                 // scope 1 at $DIR/box_expr.rs:8:5: 8:12
         StorageLive(_4);                 // scope 1 at $DIR/box_expr.rs:8:10: 8:11
         _4 = move _1;                    // scope 1 at $DIR/box_expr.rs:8:10: 8:11
-        _3 = std::mem::drop::<Box<S>>(move _4) -> [return: bb2, unwind: bb4]; // scope 1 at $DIR/box_expr.rs:8:5: 8:12
+        _3 = std::mem::drop::<Box<S>>(move _4) -> [return: bb3, unwind: bb5]; // scope 1 at $DIR/box_expr.rs:8:5: 8:12
                                          // mir::Constant
                                          // + span: $DIR/box_expr.rs:8:5: 8:9
                                          // + literal: Const { ty: fn(std::boxed::Box<S>) {std::mem::drop::<std::boxed::Box<S>>}, val: Value(Scalar(<ZST>)) }
     }
 
-    bb2: {
+    bb3: {
         StorageDead(_4);                 // scope 1 at $DIR/box_expr.rs:8:11: 8:12
         StorageDead(_3);                 // scope 1 at $DIR/box_expr.rs:8:12: 8:13
         _0 = const ();                   // scope 0 at $DIR/box_expr.rs:6:11: 9:2
-        drop(_1) -> bb3;                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
+        drop(_1) -> bb4;                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
     }
 
-    bb3: {
+    bb4: {
         StorageDead(_1);                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
         return;                          // scope 0 at $DIR/box_expr.rs:9:2: 9:2
     }
 
-    bb4 (cleanup): {
-        drop(_1) -> bb6;                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
-    }
-
     bb5 (cleanup): {
-        drop(_2) -> bb6;                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
+        drop(_4) -> bb6;                 // scope 1 at $DIR/box_expr.rs:8:11: 8:12
     }
 
     bb6 (cleanup): {
+        drop(_1) -> bb8;                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
+    }
+
+    bb7 (cleanup): {
+        drop(_2) -> bb8;                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
+    }
+
+    bb8 (cleanup): {
         resume;                          // scope 0 at $DIR/box_expr.rs:6:1: 9:2
     }
 }
diff --git a/src/test/mir-opt/const_prop/control_flow_simplification.hello.ConstProp.diff b/src/test/mir-opt/const_prop/control_flow_simplification.hello.ConstProp.diff
index 64c27039373..e1f2fbe8443 100644
--- a/src/test/mir-opt/const_prop/control_flow_simplification.hello.ConstProp.diff
+++ b/src/test/mir-opt/const_prop/control_flow_simplification.hello.ConstProp.diff
@@ -4,7 +4,7 @@
   fn hello() -> () {
       let mut _0: ();                      // return place in scope 0 at $DIR/control-flow-simplification.rs:11:14: 11:14
       let mut _1: bool;                    // in scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
-      let mut _2: !;                       // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
+      let mut _2: !;                       // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
   
       bb0: {
           StorageLive(_1);                 // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
@@ -15,16 +15,16 @@
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
-          begin_panic::<&str>(const "explicit panic"); // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
+          StorageLive(_2);                 // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
+          begin_panic::<&str>(const "explicit panic"); // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/std/src/macros.rs:LL:COL
+                                           // + span: $SRC_DIR/std/src/panic.rs:LL:COL
                                            // + literal: Const { ty: fn(&str) -> ! {std::rt::begin_panic::<&str>}, val: Value(Scalar(<ZST>)) }
                                            // ty::Const
                                            // + ty: &str
                                            // + val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 })
                                            // mir::Constant
-                                           // + span: $SRC_DIR/std/src/macros.rs:LL:COL
+                                           // + span: $SRC_DIR/std/src/panic.rs:LL:COL
                                            // + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 }) }
       }
   
diff --git a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-final.after.diff b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-final.after.diff
index f51a08ed730..1b292cdd796 100644
--- a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-final.after.diff
+++ b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-final.after.diff
@@ -1,7 +1,7 @@
 - // MIR for `try_sum` before EarlyOtherwiseBranch
 + // MIR for `try_sum` after SimplifyBranches-final
   
-  fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> std::result::Result<ViewportPercentageLength, ()> {
+  fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> Result<ViewportPercentageLength, ()> {
       debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:18:5: 18:6
       debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:5: 19:10
       let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:6: 20:42
diff --git a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
index 05ef6721e65..d20ee784591 100644
--- a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
@@ -1,7 +1,7 @@
 - // MIR for `try_sum` before EarlyOtherwiseBranch
 + // MIR for `try_sum` after EarlyOtherwiseBranch
   
-  fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> std::result::Result<ViewportPercentageLength, ()> {
+  fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> Result<ViewportPercentageLength, ()> {
       debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:18:5: 18:6
       debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:5: 19:10
       let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:6: 20:42
diff --git a/src/test/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff b/src/test/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff
index bb79cd80e51..caa02abf019 100644
--- a/src/test/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff
+++ b/src/test/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff
@@ -1,7 +1,7 @@
 - // MIR for `float_to_exponential_common` before ConstProp
 + // MIR for `float_to_exponential_common` after ConstProp
   
-  fn float_to_exponential_common(_1: &mut Formatter, _2: &T, _3: bool) -> std::result::Result<(), std::fmt::Error> {
+  fn float_to_exponential_common(_1: &mut Formatter, _2: &T, _3: bool) -> Result<(), std::fmt::Error> {
       debug fmt => _1;                     // in scope 0 at $DIR/funky_arms.rs:11:35: 11:38
       debug num => _2;                     // in scope 0 at $DIR/funky_arms.rs:11:60: 11:63
       debug upper => _3;                   // in scope 0 at $DIR/funky_arms.rs:11:69: 11:74
diff --git a/src/test/mir-opt/inline/cycle.f.Inline.diff b/src/test/mir-opt/inline/cycle.f.Inline.diff
new file mode 100644
index 00000000000..54dd545dfb9
--- /dev/null
+++ b/src/test/mir-opt/inline/cycle.f.Inline.diff
@@ -0,0 +1,42 @@
+- // MIR for `f` before Inline
++ // MIR for `f` after Inline
+  
+  fn f(_1: impl Fn()) -> () {
+      debug g => _1;                       // in scope 0 at $DIR/cycle.rs:5:6: 5:7
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:5:20: 5:20
+      let _2: ();                          // in scope 0 at $DIR/cycle.rs:6:5: 6:8
+      let mut _3: &impl Fn();              // in scope 0 at $DIR/cycle.rs:6:5: 6:6
+      let mut _4: ();                      // in scope 0 at $DIR/cycle.rs:6:5: 6:8
+  
+      bb0: {
+          StorageLive(_2);                 // scope 0 at $DIR/cycle.rs:6:5: 6:8
+          StorageLive(_3);                 // scope 0 at $DIR/cycle.rs:6:5: 6:6
+          _3 = &_1;                        // scope 0 at $DIR/cycle.rs:6:5: 6:6
+          StorageLive(_4);                 // scope 0 at $DIR/cycle.rs:6:5: 6:8
+          _2 = <impl Fn() as Fn<()>>::call(move _3, move _4) -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/cycle.rs:6:5: 6:8
+                                           // mir::Constant
+                                           // + span: $DIR/cycle.rs:6:5: 6:6
+                                           // + literal: Const { ty: for<'r> extern "rust-call" fn(&'r impl Fn(), ()) -> <impl Fn() as std::ops::FnOnce<()>>::Output {<impl Fn() as std::ops::Fn<()>>::call}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb1: {
+          StorageDead(_4);                 // scope 0 at $DIR/cycle.rs:6:7: 6:8
+          StorageDead(_3);                 // scope 0 at $DIR/cycle.rs:6:7: 6:8
+          StorageDead(_2);                 // scope 0 at $DIR/cycle.rs:6:8: 6:9
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:5:20: 7:2
+          drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/cycle.rs:7:1: 7:2
+      }
+  
+      bb2: {
+          return;                          // scope 0 at $DIR/cycle.rs:7:2: 7:2
+      }
+  
+      bb3 (cleanup): {
+          drop(_1) -> bb4;                 // scope 0 at $DIR/cycle.rs:7:1: 7:2
+      }
+  
+      bb4 (cleanup): {
+          resume;                          // scope 0 at $DIR/cycle.rs:5:1: 7:2
+      }
+  }
+  
diff --git a/src/test/mir-opt/inline/cycle.g.Inline.diff b/src/test/mir-opt/inline/cycle.g.Inline.diff
new file mode 100644
index 00000000000..46f5e5e2065
--- /dev/null
+++ b/src/test/mir-opt/inline/cycle.g.Inline.diff
@@ -0,0 +1,25 @@
+- // MIR for `g` before Inline
++ // MIR for `g` after Inline
+  
+  fn g() -> () {
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:11:8: 11:8
+      let _1: ();                          // in scope 0 at $DIR/cycle.rs:12:5: 12:12
+  
+      bb0: {
+          StorageLive(_1);                 // scope 0 at $DIR/cycle.rs:12:5: 12:12
+          _1 = f::<fn() {main}>(main) -> bb1; // scope 0 at $DIR/cycle.rs:12:5: 12:12
+                                           // mir::Constant
+                                           // + span: $DIR/cycle.rs:12:5: 12:6
+                                           // + literal: Const { ty: fn(fn() {main}) {f::<fn() {main}>}, val: Value(Scalar(<ZST>)) }
+                                           // mir::Constant
+                                           // + span: $DIR/cycle.rs:12:7: 12:11
+                                           // + literal: Const { ty: fn() {main}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb1: {
+          StorageDead(_1);                 // scope 0 at $DIR/cycle.rs:12:12: 12:13
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:11:8: 13:2
+          return;                          // scope 0 at $DIR/cycle.rs:13:2: 13:2
+      }
+  }
+  
diff --git a/src/test/mir-opt/inline/cycle.main.Inline.diff b/src/test/mir-opt/inline/cycle.main.Inline.diff
new file mode 100644
index 00000000000..c8d1448d949
--- /dev/null
+++ b/src/test/mir-opt/inline/cycle.main.Inline.diff
@@ -0,0 +1,25 @@
+- // MIR for `main` before Inline
++ // MIR for `main` after Inline
+  
+  fn main() -> () {
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:16:11: 16:11
+      let _1: ();                          // in scope 0 at $DIR/cycle.rs:17:5: 17:9
+  
+      bb0: {
+          StorageLive(_1);                 // scope 0 at $DIR/cycle.rs:17:5: 17:9
+          _1 = f::<fn() {g}>(g) -> bb1;    // scope 0 at $DIR/cycle.rs:17:5: 17:9
+                                           // mir::Constant
+                                           // + span: $DIR/cycle.rs:17:5: 17:6
+                                           // + literal: Const { ty: fn(fn() {g}) {f::<fn() {g}>}, val: Value(Scalar(<ZST>)) }
+                                           // mir::Constant
+                                           // + span: $DIR/cycle.rs:17:7: 17:8
+                                           // + literal: Const { ty: fn() {g}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb1: {
+          StorageDead(_1);                 // scope 0 at $DIR/cycle.rs:17:9: 17:10
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:16:11: 18:2
+          return;                          // scope 0 at $DIR/cycle.rs:18:2: 18:2
+      }
+  }
+  
diff --git a/src/test/mir-opt/inline/cycle.rs b/src/test/mir-opt/inline/cycle.rs
new file mode 100644
index 00000000000..9e8950d8a3d
--- /dev/null
+++ b/src/test/mir-opt/inline/cycle.rs
@@ -0,0 +1,18 @@
+// ignore-wasm32-bare compiled with panic=abort by default
+
+// EMIT_MIR cycle.f.Inline.diff
+#[inline(always)]
+fn f(g: impl Fn()) {
+    g();
+}
+
+// EMIT_MIR cycle.g.Inline.diff
+#[inline(always)]
+fn g() {
+    f(main);
+}
+
+// EMIT_MIR cycle.main.Inline.diff
+fn main() {
+    f(g);
+}
diff --git a/src/test/mir-opt/inline/inline-cycle-generic.rs b/src/test/mir-opt/inline/inline-cycle-generic.rs
new file mode 100644
index 00000000000..24b4f37939a
--- /dev/null
+++ b/src/test/mir-opt/inline/inline-cycle-generic.rs
@@ -0,0 +1,40 @@
+// Check that inliner handles various forms of recursion and doesn't fall into
+// an infinite inlining cycle. The particular outcome of inlining is not
+// crucial otherwise.
+//
+// Regression test for issue #78573.
+
+// EMIT_MIR inline_cycle_generic.main.Inline.diff
+fn main() {
+    <C as Call>::call();
+}
+
+pub trait Call {
+    fn call();
+}
+
+pub struct A;
+pub struct B<T>(T);
+pub struct C;
+
+impl Call for A {
+    #[inline]
+    fn call() {
+        <B<C> as Call>::call()
+    }
+}
+
+
+impl<T: Call> Call for B<T> {
+    #[inline]
+    fn call() {
+        <T as Call>::call()
+    }
+}
+
+impl Call for C {
+    #[inline]
+    fn call() {
+        <B<A> as Call>::call()
+    }
+}
diff --git a/src/test/mir-opt/inline/inline-instruction-set.rs b/src/test/mir-opt/inline/inline-instruction-set.rs
new file mode 100644
index 00000000000..be36ff50c7e
--- /dev/null
+++ b/src/test/mir-opt/inline/inline-instruction-set.rs
@@ -0,0 +1,54 @@
+// Checks that only functions with the compatible instruction_set attributes are inlined.
+//
+// compile-flags: --target thumbv4t-none-eabi
+// needs-llvm-components: arm
+
+#![crate_type = "lib"]
+#![feature(rustc_attrs)]
+#![feature(no_core, lang_items)]
+#![feature(isa_attribute)]
+#![no_core]
+
+#[rustc_builtin_macro]
+#[macro_export]
+macro_rules! asm {
+    ("assembly template",
+        $(operands,)*
+        $(options($(option),*))?
+    ) => {
+        /* compiler built-in */
+    };
+}
+
+#[lang = "sized"]
+trait Sized {}
+#[lang = "copy"]
+trait Copy {}
+
+#[instruction_set(arm::a32)]
+#[inline]
+fn instruction_set_a32() {}
+
+#[instruction_set(arm::t32)]
+#[inline]
+fn instruction_set_t32() {}
+
+#[inline]
+fn instruction_set_default() {}
+
+// EMIT_MIR inline_instruction_set.t32.Inline.diff
+#[instruction_set(arm::t32)]
+pub fn t32() {
+    instruction_set_a32();
+    instruction_set_t32();
+    // The default instruction set is currently
+    // conservatively assumed to be incompatible.
+    instruction_set_default();
+}
+
+// EMIT_MIR inline_instruction_set.default.Inline.diff
+pub fn default() {
+    instruction_set_a32();
+    instruction_set_t32();
+    instruction_set_default();
+}
diff --git a/src/test/mir-opt/inline/inline_closure_borrows_arg.foo.Inline.after.mir b/src/test/mir-opt/inline/inline_closure_borrows_arg.foo.Inline.after.mir
index db504b416fe..4bda9ae383c 100644
--- a/src/test/mir-opt/inline/inline_closure_borrows_arg.foo.Inline.after.mir
+++ b/src/test/mir-opt/inline/inline_closure_borrows_arg.foo.Inline.after.mir
@@ -40,7 +40,7 @@ fn foo(_1: T, _2: &i32) -> i32 {
         _9 = move (_5.1: &i32);          // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
         StorageLive(_10);                // scope 2 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
         _10 = _8;                        // scope 2 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        _0 = (*_8);                      // scope 3 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
+        _0 = (*_10);                     // scope 3 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
         StorageDead(_10);                // scope 2 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
         StorageDead(_9);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
         StorageDead(_8);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
diff --git a/src/test/mir-opt/inline/inline_cycle_generic.main.Inline.diff b/src/test/mir-opt/inline/inline_cycle_generic.main.Inline.diff
new file mode 100644
index 00000000000..9709f273779
--- /dev/null
+++ b/src/test/mir-opt/inline/inline_cycle_generic.main.Inline.diff
@@ -0,0 +1,29 @@
+- // MIR for `main` before Inline
++ // MIR for `main` after Inline
+  
+  fn main() -> () {
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-cycle-generic.rs:8:11: 8:11
+      let _1: ();                          // in scope 0 at $DIR/inline-cycle-generic.rs:9:5: 9:24
++     scope 1 (inlined <C as Call>::call) { // at $DIR/inline-cycle-generic.rs:9:5: 9:24
++         scope 2 (inlined <B<A> as Call>::call) { // at $DIR/inline-cycle-generic.rs:9:5: 9:24
++         }
++     }
+  
+      bb0: {
+          StorageLive(_1);                 // scope 0 at $DIR/inline-cycle-generic.rs:9:5: 9:24
+-         _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline-cycle-generic.rs:9:5: 9:24
++         _1 = <A as Call>::call() -> bb1; // scope 2 at $DIR/inline-cycle-generic.rs:9:5: 9:24
+                                           // mir::Constant
+-                                          // + span: $DIR/inline-cycle-generic.rs:9:5: 9:22
+-                                          // + literal: Const { ty: fn() {<C as Call>::call}, val: Value(Scalar(<ZST>)) }
++                                          // + span: $DIR/inline-cycle-generic.rs:9:5: 9:24
++                                          // + literal: Const { ty: fn() {<A as Call>::call}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb1: {
+          StorageDead(_1);                 // scope 0 at $DIR/inline-cycle-generic.rs:9:24: 9:25
+          _0 = const ();                   // scope 0 at $DIR/inline-cycle-generic.rs:8:11: 10:2
+          return;                          // scope 0 at $DIR/inline-cycle-generic.rs:10:2: 10:2
+      }
+  }
+  
diff --git a/src/test/mir-opt/inline/inline_diverging.h.Inline.diff b/src/test/mir-opt/inline/inline_diverging.h.Inline.diff
index 22737381c71..07994eb3c16 100644
--- a/src/test/mir-opt/inline/inline_diverging.h.Inline.diff
+++ b/src/test/mir-opt/inline/inline_diverging.h.Inline.diff
@@ -5,19 +5,18 @@
       let mut _0: ();                      // return place in scope 0 at $DIR/inline-diverging.rs:21:12: 21:12
       let _1: (!, !);                      // in scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
 +     let mut _2: fn() -> ! {sleep};       // in scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
++     let mut _7: ();                      // in scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
 +     let mut _8: ();                      // in scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
-+     let mut _9: ();                      // in scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
 +     scope 1 (inlined call_twice::<!, fn() -> ! {sleep}>) { // at $DIR/inline-diverging.rs:22:5: 22:22
 +         debug f => _2;                   // in scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         let _3: !;                       // in scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         let mut _4: &fn() -> ! {sleep};  // in scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         let mut _5: &fn() -> ! {sleep};  // in scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         let mut _6: !;                   // in scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
-+         let mut _7: !;                   // in scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         scope 2 {
 +             debug a => _3;               // in scope 2 at $DIR/inline-diverging.rs:22:5: 22:22
 +             scope 3 {
-+                 debug b => _7;           // in scope 3 at $DIR/inline-diverging.rs:22:5: 22:22
++                 debug b => _6;           // in scope 3 at $DIR/inline-diverging.rs:22:5: 22:22
 +             }
 +             scope 6 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { // at $DIR/inline-diverging.rs:22:5: 22:22
 +                 scope 7 (inlined sleep) { // at $DIR/inline-diverging.rs:22:5: 22:22
@@ -41,12 +40,12 @@
 -                                          // mir::Constant
                                            // + span: $DIR/inline-diverging.rs:22:16: 22:21
                                            // + literal: Const { ty: fn() -> ! {sleep}, val: Value(Scalar(<ZST>)) }
-+         StorageLive(_7);                 // scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
++         StorageLive(_6);                 // scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
 +         StorageLive(_3);                 // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         StorageLive(_4);                 // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         _4 = &_2;                        // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
-+         StorageLive(_8);                 // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
-+         _8 = const ();                   // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
++         StorageLive(_7);                 // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
++         _7 = const ();                   // scope 1 at $DIR/inline-diverging.rs:22:5: 22:22
 +         goto -> bb1;                     // scope 5 at $DIR/inline-diverging.rs:22:5: 22:22
       }
   
diff --git a/src/test/mir-opt/inline/inline_instruction_set.default.Inline.diff b/src/test/mir-opt/inline/inline_instruction_set.default.Inline.diff
new file mode 100644
index 00000000000..334cf5a08e2
--- /dev/null
+++ b/src/test/mir-opt/inline/inline_instruction_set.default.Inline.diff
@@ -0,0 +1,45 @@
+- // MIR for `default` before Inline
++ // MIR for `default` after Inline
+  
+  fn default() -> () {
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-instruction-set.rs:50:18: 50:18
+      let _1: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:51:5: 51:26
+      let _2: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:52:5: 52:26
+      let _3: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:53:5: 53:30
++     scope 1 (inlined instruction_set_default) { // at $DIR/inline-instruction-set.rs:53:5: 53:30
++     }
+  
+      bb0: {
+          StorageLive(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:51:5: 51:26
+          _1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline-instruction-set.rs:51:5: 51:26
+                                           // mir::Constant
+                                           // + span: $DIR/inline-instruction-set.rs:51:5: 51:24
+                                           // + literal: Const { ty: fn() {instruction_set_a32}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb1: {
+          StorageDead(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:51:26: 51:27
+          StorageLive(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:52:5: 52:26
+          _2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:52:5: 52:26
+                                           // mir::Constant
+                                           // + span: $DIR/inline-instruction-set.rs:52:5: 52:24
+                                           // + literal: Const { ty: fn() {instruction_set_t32}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb2: {
+          StorageDead(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:52:26: 52:27
+          StorageLive(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:53:5: 53:30
+-         _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline-instruction-set.rs:53:5: 53:30
+-                                          // mir::Constant
+-                                          // + span: $DIR/inline-instruction-set.rs:53:5: 53:28
+-                                          // + literal: Const { ty: fn() {instruction_set_default}, val: Value(Scalar(<ZST>)) }
+-     }
+- 
+-     bb3: {
++         _3 = const ();                   // scope 1 at $DIR/inline-instruction-set.rs:53:5: 53:30
+          StorageDead(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:53:30: 53:31
+          _0 = const ();                   // scope 0 at $DIR/inline-instruction-set.rs:50:18: 54:2
+          return;                          // scope 0 at $DIR/inline-instruction-set.rs:54:2: 54:2
+      }
+  }
+  
diff --git a/src/test/mir-opt/inline/inline_instruction_set.t32.Inline.diff b/src/test/mir-opt/inline/inline_instruction_set.t32.Inline.diff
new file mode 100644
index 00000000000..920b68c9daa
--- /dev/null
+++ b/src/test/mir-opt/inline/inline_instruction_set.t32.Inline.diff
@@ -0,0 +1,47 @@
+- // MIR for `t32` before Inline
++ // MIR for `t32` after Inline
+  
+  fn t32() -> () {
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-instruction-set.rs:41:14: 41:14
+      let _1: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:42:5: 42:26
+      let _2: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:43:5: 43:26
+      let _3: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:46:5: 46:30
++     scope 1 (inlined instruction_set_t32) { // at $DIR/inline-instruction-set.rs:43:5: 43:26
++     }
+  
+      bb0: {
+          StorageLive(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:42:5: 42:26
+          _1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline-instruction-set.rs:42:5: 42:26
+                                           // mir::Constant
+                                           // + span: $DIR/inline-instruction-set.rs:42:5: 42:24
+                                           // + literal: Const { ty: fn() {instruction_set_a32}, val: Value(Scalar(<ZST>)) }
+      }
+  
+      bb1: {
+          StorageDead(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:42:26: 42:27
+          StorageLive(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:43:5: 43:26
+-         _2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:43:5: 43:26
+-                                          // mir::Constant
+-                                          // + span: $DIR/inline-instruction-set.rs:43:5: 43:24
+-                                          // + literal: Const { ty: fn() {instruction_set_t32}, val: Value(Scalar(<ZST>)) }
+-     }
+- 
+-     bb2: {
++         _2 = const ();                   // scope 1 at $DIR/inline-instruction-set.rs:43:5: 43:26
+          StorageDead(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:43:26: 43:27
+          StorageLive(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:46:5: 46:30
+-         _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline-instruction-set.rs:46:5: 46:30
++         _3 = instruction_set_default() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:46:5: 46:30
+                                           // mir::Constant
+                                           // + span: $DIR/inline-instruction-set.rs:46:5: 46:28
+                                           // + literal: Const { ty: fn() {instruction_set_default}, val: Value(Scalar(<ZST>)) }
+      }
+  
+-     bb3: {
++     bb2: {
+          StorageDead(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:46:30: 46:31
+          _0 = const ();                   // scope 0 at $DIR/inline-instruction-set.rs:41:14: 47:2
+          return;                          // scope 0 at $DIR/inline-instruction-set.rs:47:2: 47:2
+      }
+  }
+  
diff --git a/src/test/mir-opt/inst_combine_deref.rs b/src/test/mir-opt/inst_combine_deref.rs
deleted file mode 100644
index 78361c33660..00000000000
--- a/src/test/mir-opt/inst_combine_deref.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-// compile-flags: -O -Zunsound-mir-opts
-// EMIT_MIR inst_combine_deref.simple_opt.InstCombine.diff
-fn simple_opt() -> u64 {
-    let x = 5;
-    let y = &x;
-    let z = *y;
-    z
-}
-
-// EMIT_MIR inst_combine_deref.deep_opt.InstCombine.diff
-fn deep_opt() -> (u64, u64, u64) {
-    let x1 = 1;
-    let x2 = 2;
-    let x3 = 3;
-    let y1 = &x1;
-    let y2 = &x2;
-    let y3 = &x3;
-    let z1 = *y1;
-    let z2 = *y2;
-    let z3 = *y3;
-    (z1, z2, z3)
-}
-
-struct S {
-    a: u64,
-    b: u64,
-}
-
-// EMIT_MIR inst_combine_deref.opt_struct.InstCombine.diff
-fn opt_struct(s: S) -> u64 {
-    let a = &s.a;
-    let b = &s.b;
-    let x = *a;
-    *b + x
-}
-
-// EMIT_MIR inst_combine_deref.dont_opt.InstCombine.diff
-// do not optimize a sequence looking like this:
-// _1 = &_2;
-// _1 = _3;
-// _4 = *_1;
-// as the _1 = _3 assignment makes it not legal to replace the last statement with _4 = _2
-fn dont_opt() -> u64 {
-    let y = 5;
-    let _ref = &y;
-    let x = 5;
-    let mut _1 = &x;
-    _1 = _ref;
-    let _4 = *_1;
-    0
-}
-
-// EMIT_MIR inst_combine_deref.do_not_miscompile.InstCombine.diff
-fn do_not_miscompile() {
-    let x = 42;
-    let a = 99;
-    let mut y = &x;
-    let z = &mut y;
-    *z = &a;
-    assert!(*y == 99);
-}
-
-fn main() {
-    simple_opt();
-    deep_opt();
-    opt_struct(S { a: 0, b: 1 });
-    dont_opt();
-    do_not_miscompile();
-}
diff --git a/src/test/mir-opt/issue_41110.main.ElaborateDrops.after.mir b/src/test/mir-opt/issue_41110.main.ElaborateDrops.after.mir
index bbbd2bcf128..7113c42b9c7 100644
--- a/src/test/mir-opt/issue_41110.main.ElaborateDrops.after.mir
+++ b/src/test/mir-opt/issue_41110.main.ElaborateDrops.after.mir
@@ -6,18 +6,21 @@ fn main() -> () {
     let mut _2: S;                       // in scope 0 at $DIR/issue-41110.rs:8:13: 8:14
     let mut _3: S;                       // in scope 0 at $DIR/issue-41110.rs:8:21: 8:27
     let mut _4: S;                       // in scope 0 at $DIR/issue-41110.rs:8:21: 8:22
+    let mut _5: bool;                    // in scope 0 at $DIR/issue-41110.rs:8:27: 8:28
     scope 1 {
         debug x => _1;                   // in scope 1 at $DIR/issue-41110.rs:8:9: 8:10
     }
 
     bb0: {
+        _5 = const false;                // scope 0 at $DIR/issue-41110.rs:8:9: 8:10
         StorageLive(_1);                 // scope 0 at $DIR/issue-41110.rs:8:9: 8:10
         StorageLive(_2);                 // scope 0 at $DIR/issue-41110.rs:8:13: 8:14
+        _5 = const true;                 // scope 0 at $DIR/issue-41110.rs:8:13: 8:14
         _2 = S;                          // scope 0 at $DIR/issue-41110.rs:8:13: 8:14
         StorageLive(_3);                 // scope 0 at $DIR/issue-41110.rs:8:21: 8:27
         StorageLive(_4);                 // scope 0 at $DIR/issue-41110.rs:8:21: 8:22
         _4 = S;                          // scope 0 at $DIR/issue-41110.rs:8:21: 8:22
-        _3 = S::id(move _4) -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-41110.rs:8:21: 8:27
+        _3 = S::id(move _4) -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-41110.rs:8:21: 8:27
                                          // mir::Constant
                                          // + span: $DIR/issue-41110.rs:8:23: 8:25
                                          // + literal: Const { ty: fn(S) -> S {S::id}, val: Value(Scalar(<ZST>)) }
@@ -25,7 +28,8 @@ fn main() -> () {
 
     bb1: {
         StorageDead(_4);                 // scope 0 at $DIR/issue-41110.rs:8:26: 8:27
-        _1 = S::other(move _2, move _3) -> bb2; // scope 0 at $DIR/issue-41110.rs:8:13: 8:28
+        _5 = const false;                // scope 0 at $DIR/issue-41110.rs:8:13: 8:28
+        _1 = S::other(move _2, move _3) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/issue-41110.rs:8:13: 8:28
                                          // mir::Constant
                                          // + span: $DIR/issue-41110.rs:8:15: 8:20
                                          // + literal: Const { ty: fn(S, S) {S::other}, val: Value(Scalar(<ZST>)) }
@@ -33,6 +37,7 @@ fn main() -> () {
 
     bb2: {
         StorageDead(_3);                 // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+        _5 = const false;                // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
         StorageDead(_2);                 // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
         _0 = const ();                   // scope 0 at $DIR/issue-41110.rs:7:11: 9:2
         StorageDead(_1);                 // scope 0 at $DIR/issue-41110.rs:9:1: 9:2
@@ -40,10 +45,26 @@ fn main() -> () {
     }
 
     bb3 (cleanup): {
-        drop(_2) -> bb4;                 // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
     }
 
     bb4 (cleanup): {
+        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:8:26: 8:27
+    }
+
+    bb5 (cleanup): {
+        goto -> bb8;                     // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+    }
+
+    bb6 (cleanup): {
         resume;                          // scope 0 at $DIR/issue-41110.rs:7:1: 9:2
     }
+
+    bb7 (cleanup): {
+        drop(_2) -> bb6;                 // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+    }
+
+    bb8 (cleanup): {
+        switchInt(_5) -> [false: bb6, otherwise: bb7]; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+    }
 }
diff --git a/src/test/mir-opt/issue_41110.test.ElaborateDrops.after.mir b/src/test/mir-opt/issue_41110.test.ElaborateDrops.after.mir
index b0c7260f0f4..c4e852ca321 100644
--- a/src/test/mir-opt/issue_41110.test.ElaborateDrops.after.mir
+++ b/src/test/mir-opt/issue_41110.test.ElaborateDrops.after.mir
@@ -25,7 +25,7 @@ fn test() -> () {
         StorageLive(_3);                 // scope 2 at $DIR/issue-41110.rs:17:5: 17:12
         StorageLive(_4);                 // scope 2 at $DIR/issue-41110.rs:17:10: 17:11
         _4 = move _2;                    // scope 2 at $DIR/issue-41110.rs:17:10: 17:11
-        _3 = std::mem::drop::<S>(move _4) -> [return: bb1, unwind: bb5]; // scope 2 at $DIR/issue-41110.rs:17:5: 17:12
+        _3 = std::mem::drop::<S>(move _4) -> [return: bb1, unwind: bb7]; // scope 2 at $DIR/issue-41110.rs:17:5: 17:12
                                          // mir::Constant
                                          // + span: $DIR/issue-41110.rs:17:5: 17:9
                                          // + literal: Const { ty: fn(S) {std::mem::drop::<S>}, val: Value(Scalar(<ZST>)) }
@@ -37,53 +37,65 @@ fn test() -> () {
         StorageLive(_5);                 // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
         _6 = const false;                // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
         _5 = move _1;                    // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
-        goto -> bb9;                     // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
+        goto -> bb12;                    // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
     }
 
     bb2: {
+        goto -> bb3;                     // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
+    }
+
+    bb3: {
         StorageDead(_5);                 // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
         _0 = const ();                   // scope 0 at $DIR/issue-41110.rs:14:15: 19:2
-        drop(_2) -> [return: bb3, unwind: bb6]; // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
+        drop(_2) -> [return: bb4, unwind: bb9]; // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
     }
 
-    bb3: {
+    bb4: {
         StorageDead(_2);                 // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
-        goto -> bb4;                     // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
     }
 
-    bb4: {
+    bb5: {
         _6 = const false;                // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
         StorageDead(_1);                 // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
         return;                          // scope 0 at $DIR/issue-41110.rs:19:2: 19:2
     }
 
-    bb5 (cleanup): {
-        goto -> bb6;                     // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
-    }
-
     bb6 (cleanup): {
-        goto -> bb11;                    // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+        goto -> bb8;                     // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
     }
 
     bb7 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-41110.rs:14:1: 19:2
+        goto -> bb8;                     // scope 2 at $DIR/issue-41110.rs:17:11: 17:12
     }
 
     bb8 (cleanup): {
+        goto -> bb9;                     // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
+    }
+
+    bb9 (cleanup): {
+        goto -> bb14;                    // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+    }
+
+    bb10 (cleanup): {
+        resume;                          // scope 0 at $DIR/issue-41110.rs:14:1: 19:2
+    }
+
+    bb11 (cleanup): {
         _2 = move _5;                    // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
-        goto -> bb5;                     // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
+        goto -> bb6;                     // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
     }
 
-    bb9: {
+    bb12: {
         _2 = move _5;                    // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
         goto -> bb2;                     // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
     }
 
-    bb10 (cleanup): {
-        drop(_1) -> bb7;                 // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+    bb13 (cleanup): {
+        drop(_1) -> bb10;                // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
     }
 
-    bb11 (cleanup): {
-        switchInt(_6) -> [false: bb7, otherwise: bb10]; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+    bb14 (cleanup): {
+        switchInt(_6) -> [false: bb10, otherwise: bb13]; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
     }
 }
diff --git a/src/test/mir-opt/issue_41888.main.ElaborateDrops.after.mir b/src/test/mir-opt/issue_41888.main.ElaborateDrops.after.mir
index 4fc7f9daa22..488fcb5dd70 100644
--- a/src/test/mir-opt/issue_41888.main.ElaborateDrops.after.mir
+++ b/src/test/mir-opt/issue_41888.main.ElaborateDrops.after.mir
@@ -26,7 +26,7 @@ fn main() -> () {
         _8 = const false;                // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
         StorageLive(_1);                 // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
         StorageLive(_2);                 // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
-        _2 = cond() -> [return: bb1, unwind: bb9]; // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
+        _2 = cond() -> [return: bb1, unwind: bb11]; // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
                                          // mir::Constant
                                          // + span: $DIR/issue-41888.rs:8:8: 8:12
                                          // + literal: Const { ty: fn() -> bool {cond}, val: Value(Scalar(<ZST>)) }
@@ -42,40 +42,44 @@ fn main() -> () {
         _4 = K;                          // scope 1 at $DIR/issue-41888.rs:9:18: 9:19
         _3 = E::F(move _4);              // scope 1 at $DIR/issue-41888.rs:9:13: 9:20
         StorageDead(_4);                 // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
-        goto -> bb12;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
+        goto -> bb14;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
     }
 
     bb3: {
         _0 = const ();                   // scope 1 at $DIR/issue-41888.rs:14:6: 14:6
-        goto -> bb7;                     // scope 1 at $DIR/issue-41888.rs:8:5: 14:6
+        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:8:5: 14:6
     }
 
     bb4: {
+        goto -> bb5;                     // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
+    }
+
+    bb5: {
         StorageDead(_3);                 // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
         _5 = discriminant(_1);           // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
-        switchInt(move _5) -> [0_isize: bb6, otherwise: bb5]; // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
+        switchInt(move _5) -> [0_isize: bb7, otherwise: bb6]; // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
     }
 
-    bb5: {
+    bb6: {
         _0 = const ();                   // scope 1 at $DIR/issue-41888.rs:13:10: 13:10
-        goto -> bb7;                     // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
+        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
     }
 
-    bb6: {
+    bb7: {
         StorageLive(_6);                 // scope 1 at $DIR/issue-41888.rs:10:21: 10:23
         _9 = const false;                // scope 1 at $DIR/issue-41888.rs:10:21: 10:23
         _6 = move ((_1 as F).0: K);      // scope 1 at $DIR/issue-41888.rs:10:21: 10:23
         _0 = const ();                   // scope 2 at $DIR/issue-41888.rs:10:29: 13:10
         StorageDead(_6);                 // scope 1 at $DIR/issue-41888.rs:13:9: 13:10
-        goto -> bb7;                     // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
+        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
     }
 
-    bb7: {
+    bb8: {
         StorageDead(_2);                 // scope 1 at $DIR/issue-41888.rs:14:5: 14:6
-        goto -> bb18;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        goto -> bb20;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb8: {
+    bb9: {
         _7 = const false;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
         _8 = const false;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
         _9 = const false;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
@@ -83,23 +87,27 @@ fn main() -> () {
         return;                          // scope 0 at $DIR/issue-41888.rs:15:2: 15:2
     }
 
-    bb9 (cleanup): {
-        goto -> bb10;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    bb10 (cleanup): {
+        goto -> bb11;                    // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
+    }
+
+    bb11 (cleanup): {
+        goto -> bb12;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb10 (cleanup): {
+    bb12 (cleanup): {
         resume;                          // scope 0 at $DIR/issue-41888.rs:6:1: 15:2
     }
 
-    bb11 (cleanup): {
+    bb13 (cleanup): {
         _7 = const true;                 // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
         _8 = const true;                 // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
         _9 = const true;                 // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
         _1 = move _3;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
-        goto -> bb9;                     // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
+        goto -> bb10;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
     }
 
-    bb12: {
+    bb14: {
         _7 = const true;                 // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
         _8 = const true;                 // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
         _9 = const true;                 // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
@@ -107,38 +115,38 @@ fn main() -> () {
         goto -> bb4;                     // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
     }
 
-    bb13: {
+    bb15: {
         _7 = const false;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-        goto -> bb8;                     // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        goto -> bb9;                     // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb14 (cleanup): {
-        goto -> bb10;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    bb16 (cleanup): {
+        goto -> bb12;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb15: {
-        drop(_1) -> [return: bb13, unwind: bb10]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    bb17: {
+        drop(_1) -> [return: bb15, unwind: bb12]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb16 (cleanup): {
-        drop(_1) -> bb10;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    bb18 (cleanup): {
+        drop(_1) -> bb12;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb17: {
+    bb19: {
         _10 = discriminant(_1);          // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-        switchInt(move _10) -> [0_isize: bb13, otherwise: bb15]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        switchInt(move _10) -> [0_isize: bb15, otherwise: bb17]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb18: {
-        switchInt(_7) -> [false: bb13, otherwise: bb17]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    bb20: {
+        switchInt(_7) -> [false: bb15, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb19 (cleanup): {
+    bb21 (cleanup): {
         _11 = discriminant(_1);          // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-        switchInt(move _11) -> [0_isize: bb14, otherwise: bb16]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        switchInt(move _11) -> [0_isize: bb16, otherwise: bb18]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 
-    bb20 (cleanup): {
-        switchInt(_7) -> [false: bb10, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    bb22 (cleanup): {
+        switchInt(_7) -> [false: bb12, otherwise: bb21]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
     }
 }
diff --git a/src/test/mir-opt/issue_62289.test.ElaborateDrops.before.mir b/src/test/mir-opt/issue_62289.test.ElaborateDrops.before.mir
index f74cdd71919..c1421f20a0b 100644
--- a/src/test/mir-opt/issue_62289.test.ElaborateDrops.before.mir
+++ b/src/test/mir-opt/issue_62289.test.ElaborateDrops.before.mir
@@ -30,7 +30,7 @@ fn test() -> Option<Box<u32>> {
         StorageLive(_3);                 // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
         StorageLive(_4);                 // scope 0 at $DIR/issue-62289.rs:9:15: 9:19
         _4 = Option::<u32>::None;        // scope 0 at $DIR/issue-62289.rs:9:15: 9:19
-        _3 = <Option<u32> as Try>::into_result(move _4) -> [return: bb1, unwind: bb10]; // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
+        _3 = <Option<u32> as Try>::into_result(move _4) -> [return: bb1, unwind: bb12]; // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
                                          // mir::Constant
                                          // + span: $DIR/issue-62289.rs:9:15: 9:20
                                          // + literal: Const { ty: fn(std::option::Option<u32>) -> std::result::Result<<std::option::Option<u32> as std::ops::Try>::Ok, <std::option::Option<u32> as std::ops::Try>::Error> {<std::option::Option<u32> as std::ops::Try>::into_result}, val: Value(Scalar(<ZST>)) }
@@ -48,11 +48,7 @@ fn test() -> Option<Box<u32>> {
         (*_2) = _10;                     // scope 4 at $DIR/issue-62289.rs:9:15: 9:20
         StorageDead(_10);                // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
         _1 = move _2;                    // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-        StorageDead(_2);                 // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
-        _0 = Option::<Box<u32>>::Some(move _1); // scope 0 at $DIR/issue-62289.rs:9:5: 9:22
-        StorageDead(_1);                 // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
-        StorageDead(_3);                 // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
-        goto -> bb8;                     // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
+        drop(_2) -> [return: bb7, unwind: bb11]; // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
     }
 
     bb3: {
@@ -65,7 +61,7 @@ fn test() -> Option<Box<u32>> {
         StorageLive(_8);                 // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
         StorageLive(_9);                 // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
         _9 = _6;                         // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
-        _8 = <NoneError as From<NoneError>>::from(move _9) -> [return: bb5, unwind: bb10]; // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
+        _8 = <NoneError as From<NoneError>>::from(move _9) -> [return: bb5, unwind: bb12]; // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
                                          // mir::Constant
                                          // + span: $DIR/issue-62289.rs:9:19: 9:20
                                          // + literal: Const { ty: fn(std::option::NoneError) -> std::option::NoneError {<std::option::NoneError as std::convert::From<std::option::NoneError>>::from}, val: Value(Scalar(<ZST>)) }
@@ -73,7 +69,7 @@ fn test() -> Option<Box<u32>> {
 
     bb5: {
         StorageDead(_9);                 // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
-        _0 = <Option<Box<u32>> as Try>::from_error(move _8) -> [return: bb6, unwind: bb10]; // scope 2 at $DIR/issue-62289.rs:9:15: 9:20
+        _0 = <Option<Box<u32>> as Try>::from_error(move _8) -> [return: bb6, unwind: bb12]; // scope 2 at $DIR/issue-62289.rs:9:15: 9:20
                                          // mir::Constant
                                          // + span: $DIR/issue-62289.rs:9:15: 9:20
                                          // + literal: Const { ty: fn(<std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::Error) -> std::option::Option<std::boxed::Box<u32>> {<std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::from_error}, val: Value(Scalar(<ZST>)) }
@@ -82,29 +78,41 @@ fn test() -> Option<Box<u32>> {
     bb6: {
         StorageDead(_8);                 // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
         StorageDead(_6);                 // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-        drop(_2) -> [return: bb7, unwind: bb9]; // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
+        drop(_2) -> bb9;                 // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
     }
 
     bb7: {
         StorageDead(_2);                 // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
+        _0 = Option::<Box<u32>>::Some(move _1); // scope 0 at $DIR/issue-62289.rs:9:5: 9:22
+        drop(_1) -> bb8;                 // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
+    }
+
+    bb8: {
+        StorageDead(_1);                 // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
+        StorageDead(_3);                 // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
+        goto -> bb10;                    // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
+    }
+
+    bb9: {
+        StorageDead(_2);                 // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
         StorageDead(_1);                 // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
         StorageDead(_3);                 // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
-        goto -> bb8;                     // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
+        goto -> bb10;                    // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
     }
 
-    bb8: {
+    bb10: {
         return;                          // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
     }
 
-    bb9 (cleanup): {
-        drop(_0) -> bb11;                // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
+    bb11 (cleanup): {
+        drop(_1) -> bb13;                // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
     }
 
-    bb10 (cleanup): {
-        drop(_2) -> bb11;                // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
+    bb12 (cleanup): {
+        drop(_2) -> bb13;                // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
     }
 
-    bb11 (cleanup): {
+    bb13 (cleanup): {
         resume;                          // scope 0 at $DIR/issue-62289.rs:8:1: 10:2
     }
 }
diff --git a/src/test/mir-opt/issue_73223.main.PreCodegen.32bit.diff b/src/test/mir-opt/issue_73223.main.PreCodegen.32bit.diff
index 435b2a1360a..e4916a56bea 100644
--- a/src/test/mir-opt/issue_73223.main.PreCodegen.32bit.diff
+++ b/src/test/mir-opt/issue_73223.main.PreCodegen.32bit.diff
@@ -11,16 +11,16 @@
       let mut _9: bool;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _10: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _11: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _12: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _12: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _13: &[&str; 3];             // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _14: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let _15: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _16: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _14: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let _15: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _16: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let _17: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _18: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _19: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _20: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _21: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _20: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _21: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       scope 1 {
           debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14
           let _4: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14
@@ -34,30 +34,30 @@
                   scope 5 {
                       debug arg0 => _24;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                       debug arg1 => _27;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _24;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _23;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _22: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _23: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _24: &&i32; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _24;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _23;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _22: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _23: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _24: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 7 {
                           }
                       }
-                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _27;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _26;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _25: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _26: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _27;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _26;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _25: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _26: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 9 {
                           }
                       }
                   }
-                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug args => _29;   // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug args => _29;   // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
                   }
               }
           }
@@ -111,7 +111,7 @@
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
           (_12.0: &[&str]) = move _13 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_15);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_15);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_17);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _17 = _7;                        // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           (_16.0: &&i32) = &_17;           // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -119,18 +119,18 @@
           StorageLive(_19);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _19 = _8;                        // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _18 = &_19;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_16.1: &&i32) = move _18;       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_18);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_16.1: &&i32) = move _18;       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_18);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           _24 = (_16.0: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _27 = (_16.1: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _23 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_22);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_22);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
@@ -144,47 +144,47 @@
       }
   
       bb3: {
-          (_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb4: {
-          (_20.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _22; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_22);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_20.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _22; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_22);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
           _26 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_25);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_25);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb5: {
-          (_21.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _27) -> bb6; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_21.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _27) -> bb6; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb6: {
-          (_21.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _25; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_25);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _15 = [move _20, move _21];      // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _14 = &_15;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_28);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          discriminant(_28) = 0;           // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_28);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_21.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _25; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_25);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _15 = [move _20, move _21];      // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _14 = &_15;                      // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_28);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          discriminant(_28) = 0;           // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_28);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
       }
   }
diff --git a/src/test/mir-opt/issue_73223.main.PreCodegen.64bit.diff b/src/test/mir-opt/issue_73223.main.PreCodegen.64bit.diff
index 435b2a1360a..e4916a56bea 100644
--- a/src/test/mir-opt/issue_73223.main.PreCodegen.64bit.diff
+++ b/src/test/mir-opt/issue_73223.main.PreCodegen.64bit.diff
@@ -11,16 +11,16 @@
       let mut _9: bool;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _10: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _11: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _12: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _12: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _13: &[&str; 3];             // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _14: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let _15: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _16: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _14: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let _15: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _16: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let _17: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _18: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _19: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _20: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _21: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _20: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _21: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       scope 1 {
           debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14
           let _4: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14
@@ -34,30 +34,30 @@
                   scope 5 {
                       debug arg0 => _24;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                       debug arg1 => _27;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _24;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _23;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _22: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _23: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _24: &&i32; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _24;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _23;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _22: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _23: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _24: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 7 {
                           }
                       }
-                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _27;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _26;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _25: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _26: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _27;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _26;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _25: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _26: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 9 {
                           }
                       }
                   }
-                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug args => _29;   // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug args => _29;   // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
                   }
               }
           }
@@ -111,7 +111,7 @@
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
           (_12.0: &[&str]) = move _13 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_15);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_15);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_17);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _17 = _7;                        // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           (_16.0: &&i32) = &_17;           // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -119,18 +119,18 @@
           StorageLive(_19);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _19 = _8;                        // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _18 = &_19;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_16.1: &&i32) = move _18;       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_18);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_16.1: &&i32) = move _18;       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_18);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           _24 = (_16.0: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _27 = (_16.1: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _23 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_22);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_22);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
@@ -144,47 +144,47 @@
       }
   
       bb3: {
-          (_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb4: {
-          (_20.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _22; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_22);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_20.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _22; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_22);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
           _26 = <&i32 as Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_25);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_25);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb5: {
-          (_21.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _27) -> bb6; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_21.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _27) -> bb6; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb6: {
-          (_21.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _25; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_25);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _15 = [move _20, move _21];      // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _14 = &_15;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_28);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          discriminant(_28) = 0;           // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_28);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_21.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _25; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_25);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _15 = [move _20, move _21];      // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _14 = &_15;                      // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_28);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          discriminant(_28) = 0;           // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_28);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
       }
   }
diff --git a/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.32bit.diff b/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.32bit.diff
index d87cb2af8ba..b5dd416ddb1 100644
--- a/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.32bit.diff
+++ b/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.32bit.diff
@@ -18,25 +18,25 @@
       let mut _16: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _17: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _18: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _19: !;                      // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _20: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _19: !;                      // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _20: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _21: &[&str];                // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _22: &[&str; 3];             // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _23: &[&str; 3];                 // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _24: [&str; 3];                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _25: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let _28: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _29: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _25: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let _28: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _29: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _30: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _31: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _32: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _33: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _36: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _36: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _37: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _38: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _39: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _39: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _40: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _41: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       scope 1 {
@@ -56,33 +56,33 @@
                   scope 5 {
                       debug arg0 => _34;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                       debug arg1 => _35;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _37;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _38;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _44: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _45: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _47: &&i32; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _37;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _38;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _44: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _45: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _47: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 7 {
                           }
                       }
-                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _40;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _41;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _48: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _40;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _41;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _48: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 9 {
                           }
                       }
                   }
-                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug args => _25;   // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug args => _25;   // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
                   }
               }
           }
@@ -155,8 +155,8 @@
       }
   
       bb3: {
-          StorageLive(_19);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_20);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_19);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_20);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_21);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_22);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_23);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -171,11 +171,11 @@
           _22 = _23;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _21 = move _22 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_22);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_25);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_26);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_27);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_28);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_29);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_25);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_26);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_27);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_28);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_29);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_30);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_31);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _31 = _13;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -184,15 +184,15 @@
           StorageLive(_33);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _33 = _14;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _32 = &_33;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_29.0: &&i32) = move _30;       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_29.1: &&i32) = move _32;       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_32);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_30);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_29.0: &&i32) = move _30;       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_29.1: &&i32) = move _32;       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_32);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_30);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_34);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _34 = (_29.0: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_35);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _35 = (_29.1: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_36);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_36);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_37);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _37 = _34;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_38);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -200,12 +200,12 @@
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_44);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_45);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _45 = _38;                       // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_44);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_45);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _45 = _38;                       // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
@@ -223,25 +223,25 @@
       }
   
       bb5: {
-          StorageDead(_45);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_46);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_47);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _47 = _37;                       // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_45);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_46);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_47);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _47 = _37;                       // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb6: {
-          StorageDead(_47);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_36.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _44; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_46);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_44);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_38);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_37);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_39);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_47);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_36.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _44; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_46);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_44);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_38);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_37);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_39);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_40);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _40 = _35;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_41);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -249,60 +249,60 @@
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_48);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_49);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _49 = _41;                       // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_48);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_49);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _49 = _41;                       // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb7: {
-          StorageDead(_49);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_50);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_51);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _51 = _40;                       // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_49);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_50);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_51);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _51 = _40;                       // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb8: {
-          StorageDead(_51);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_39.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _48; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_50);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_48);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_41);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_40);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _28 = [move _36, move _39];      // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_39);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_36);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_35);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_34);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _27 = &_28;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _26 = _27;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_26);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_52);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _52 = _21;                       // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_53);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          discriminant(_53) = 0;           // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_54);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _54 = _25;                       // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_20.0: &[&str]) = move _52;     // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_54);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_53);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_52);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_25);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_21);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_51);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_39.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _48; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_50);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_48);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_41);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_40);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _28 = [move _36, move _39];      // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_39);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_36);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_35);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_34);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _27 = &_28;                      // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _26 = _27;                       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_26);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_52);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _52 = _21;                       // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_53);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          discriminant(_53) = 0;           // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_54);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _54 = _25;                       // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_20.0: &[&str]) = move _52;     // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_54);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_53);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_52);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_25);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_21);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
       }
   }
diff --git a/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.64bit.diff b/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.64bit.diff
index d87cb2af8ba..b5dd416ddb1 100644
--- a/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.64bit.diff
+++ b/src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.64bit.diff
@@ -18,25 +18,25 @@
       let mut _16: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _17: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _18: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _19: !;                      // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _20: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _19: !;                      // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _20: std::fmt::Arguments;    // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _21: &[&str];                // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _22: &[&str; 3];             // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _23: &[&str; 3];                 // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _24: [&str; 3];                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _25: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let _28: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _29: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _25: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let _28: [std::fmt::ArgumentV1; 2];  // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
+      let mut _29: (&&i32, &&i32);         // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _30: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _31: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _32: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _33: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _36: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _36: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _37: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _38: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-      let mut _39: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _39: std::fmt::ArgumentV1;   // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       let mut _40: &&i32;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _41: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       scope 1 {
@@ -56,33 +56,33 @@
                   scope 5 {
                       debug arg0 => _34;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                       debug arg1 => _35;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _37;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _38;  // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _44: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _45: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _47: &&i32; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _37;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _38;  // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _44: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _45: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _47: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 7 {
                           }
                       }
-                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug x => _40;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          debug f => _41;  // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _48: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                          let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                      scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug x => _40;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          debug f => _41;  // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _48: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
+                          let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
                           scope 9 {
                           }
                       }
                   }
-                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      debug args => _25;   // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-                      let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                  scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      debug args => _25;   // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+                      let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
                   }
               }
           }
@@ -155,8 +155,8 @@
       }
   
       bb3: {
-          StorageLive(_19);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_20);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_19);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_20);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_21);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_22);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_23);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -171,11 +171,11 @@
           _22 = _23;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _21 = move _22 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_22);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_25);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_26);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_27);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_28);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_29);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_25);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_26);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_27);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_28);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_29);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_30);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_31);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _31 = _13;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -184,15 +184,15 @@
           StorageLive(_33);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _33 = _14;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _32 = &_33;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_29.0: &&i32) = move _30;       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_29.1: &&i32) = move _32;       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_32);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_30);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          (_29.0: &&i32) = move _30;       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_29.1: &&i32) = move _32;       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_32);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_30);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_34);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _34 = (_29.0: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_35);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _35 = (_29.1: &&i32);            // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_36);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_36);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_37);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _37 = _34;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_38);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -200,12 +200,12 @@
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_44);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_45);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _45 = _38;                       // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_44);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_45);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _45 = _38;                       // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
@@ -223,25 +223,25 @@
       }
   
       bb5: {
-          StorageDead(_45);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_46);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_47);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _47 = _37;                       // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_45);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_46);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_47);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _47 = _37;                       // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb6: {
-          StorageDead(_47);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_36.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _44; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_46);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_44);                // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_38);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_37);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_39);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_47);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_36.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _44; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_46);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_44);                // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_38);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_37);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_39);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
           StorageLive(_40);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _40 = _35;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_41);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -249,60 +249,60 @@
                                            // mir::Constant
                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) }
-          StorageLive(_48);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_49);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _49 = _41;                       // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_48);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_49);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _49 = _41;                       // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb7: {
-          StorageDead(_49);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_50);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_51);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _51 = _40;                       // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_49);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_50);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_51);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _51 = _40;                       // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
       }
   
       bb8: {
-          StorageDead(_51);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_39.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _48; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_50);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_48);                // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_41);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_40);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _28 = [move _36, move _39];      // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_39);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_36);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_35);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_34);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _27 = &_28;                      // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _26 = _27;                       // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_26);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_52);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _52 = _21;                       // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_53);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          discriminant(_53) = 0;           // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageLive(_54);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          _54 = _25;                       // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_20.0: &[&str]) = move _52;     // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          (_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_54);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_53);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_52);                // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_25);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_21);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageDead(_51);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_39.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _48; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_50);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_48);                // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_41);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_40);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _28 = [move _36, move _39];      // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_39);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_36);                // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_35);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_34);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _27 = &_28;                      // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _26 = _27;                       // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_26);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_52);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _52 = _21;                       // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_53);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          discriminant(_53) = 0;           // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageLive(_54);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          _54 = _25;                       // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_20.0: &[&str]) = move _52;     // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          (_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_54);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_53);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_52);                // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_25);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          StorageDead(_21);                // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
+          core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
       }
   }
diff --git a/src/test/mir-opt/issue_76432.test.SimplifyComparisonIntegral.diff b/src/test/mir-opt/issue_76432.test.SimplifyComparisonIntegral.diff
index 6450a2a22c6..7913ad260e8 100644
--- a/src/test/mir-opt/issue_76432.test.SimplifyComparisonIntegral.diff
+++ b/src/test/mir-opt/issue_76432.test.SimplifyComparisonIntegral.diff
@@ -21,7 +21,7 @@
       let mut _19: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:54: 9:68
       let mut _20: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:70: 9:84
       let mut _21: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:70: 9:84
-      let mut _22: !;                      // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+      let mut _22: !;                      // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
       scope 1 {
           debug v => _2;                   // in scope 1 at $DIR/issue_76432.rs:7:9: 7:10
           let _13: &T;                     // in scope 1 at $DIR/issue_76432.rs:9:10: 9:16
@@ -64,10 +64,10 @@
       }
   
       bb1: {
-          StorageLive(_22);                // scope 1 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          core::panicking::panic(const "internal error: entered unreachable code"); // scope 1 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+          StorageLive(_22);                // scope 1 at $SRC_DIR/core/src/panic.rs:LL:COL
+          core::panicking::panic(const "internal error: entered unreachable code"); // scope 1 at $SRC_DIR/core/src/panic.rs:LL:COL
                                            // mir::Constant
-                                           // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
+                                           // + span: $SRC_DIR/core/src/panic.rs:LL:COL
                                            // + literal: Const { ty: fn(&'static str) -> ! {core::panicking::panic}, val: Value(Scalar(<ZST>)) }
                                            // ty::Const
                                            // + ty: &str
diff --git a/src/test/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir b/src/test/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir
index 1e4b329830b..75e0656dd7b 100644
--- a/src/test/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir
+++ b/src/test/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir
@@ -5,7 +5,7 @@ fn unwrap(_1: Option<T>) -> T {
     let mut _0: T;                       // return place in scope 0 at $DIR/no-drop-for-inactive-variant.rs:7:33: 7:34
     let mut _2: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
     let _3: T;                           // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
-    let mut _4: !;                       // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
+    let mut _4: !;                       // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
     let mut _5: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
     let mut _6: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
     let mut _7: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
@@ -19,16 +19,16 @@ fn unwrap(_1: Option<T>) -> T {
     }
 
     bb1: {
-        StorageLive(_4);                 // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
-        begin_panic::<&str>(const "explicit panic") -> bb4; // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
+        StorageLive(_4);                 // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
+        begin_panic::<&str>(const "explicit panic") -> bb4; // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
                                          // mir::Constant
-                                         // + span: $SRC_DIR/std/src/macros.rs:LL:COL
+                                         // + span: $SRC_DIR/std/src/panic.rs:LL:COL
                                          // + literal: Const { ty: fn(&str) -> ! {std::rt::begin_panic::<&str>}, val: Value(Scalar(<ZST>)) }
                                          // ty::Const
                                          // + ty: &str
                                          // + val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 })
                                          // mir::Constant
-                                         // + span: $SRC_DIR/std/src/macros.rs:LL:COL
+                                         // + span: $SRC_DIR/std/src/panic.rs:LL:COL
                                          // + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 }) }
     }
 
diff --git a/src/test/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.mir b/src/test/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.mir
index 2f95931d2b2..bbb433dbe25 100644
--- a/src/test/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.mir
+++ b/src/test/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.mir
@@ -28,7 +28,7 @@ fn main() -> () {
 
     bb1: {
         StorageDead(_3);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:33: 9:34
-        _1 = std::mem::drop::<String>(move _2) -> bb2; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35
+        _1 = std::mem::drop::<String>(move _2) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35
                                          // mir::Constant
                                          // + span: $DIR/no-spurious-drop-after-call.rs:9:5: 9:19
                                          // + literal: Const { ty: fn(std::string::String) {std::mem::drop::<std::string::String>}, val: Value(Scalar(<ZST>)) }
@@ -41,4 +41,12 @@ fn main() -> () {
         _0 = const ();                   // scope 0 at $DIR/no-spurious-drop-after-call.rs:8:11: 10:2
         return;                          // scope 0 at $DIR/no-spurious-drop-after-call.rs:10:2: 10:2
     }
+
+    bb3 (cleanup): {
+        drop(_2) -> bb4;                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35
+    }
+
+    bb4 (cleanup): {
+        resume;                          // scope 0 at $DIR/no-spurious-drop-after-call.rs:8:1: 10:2
+    }
 }
diff --git a/src/test/mir-opt/simplify_arm.id_result.SimplifyArmIdentity.diff b/src/test/mir-opt/simplify_arm.id_result.SimplifyArmIdentity.diff
index 253e3236ff7..40c18fb7282 100644
--- a/src/test/mir-opt/simplify_arm.id_result.SimplifyArmIdentity.diff
+++ b/src/test/mir-opt/simplify_arm.id_result.SimplifyArmIdentity.diff
@@ -1,7 +1,7 @@
 - // MIR for `id_result` before SimplifyArmIdentity
 + // MIR for `id_result` after SimplifyArmIdentity
   
-  fn id_result(_1: std::result::Result<u8, i32>) -> std::result::Result<u8, i32> {
+  fn id_result(_1: Result<u8, i32>) -> Result<u8, i32> {
       debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:16:14: 16:15
       let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:16:37: 16:52
       let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:18:9: 18:14
diff --git a/src/test/mir-opt/simplify_arm.id_result.SimplifyBranchSame.diff b/src/test/mir-opt/simplify_arm.id_result.SimplifyBranchSame.diff
index 23cf43c5319..596dbabead0 100644
--- a/src/test/mir-opt/simplify_arm.id_result.SimplifyBranchSame.diff
+++ b/src/test/mir-opt/simplify_arm.id_result.SimplifyBranchSame.diff
@@ -1,7 +1,7 @@
 - // MIR for `id_result` before SimplifyBranchSame
 + // MIR for `id_result` after SimplifyBranchSame
   
-  fn id_result(_1: std::result::Result<u8, i32>) -> std::result::Result<u8, i32> {
+  fn id_result(_1: Result<u8, i32>) -> Result<u8, i32> {
       debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:16:14: 16:15
       let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:16:37: 16:52
       let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:18:9: 18:14
diff --git a/src/test/mir-opt/simplify_arm.id_try.SimplifyArmIdentity.diff b/src/test/mir-opt/simplify_arm.id_try.SimplifyArmIdentity.diff
index 84d8214122a..ccb3b71817f 100644
--- a/src/test/mir-opt/simplify_arm.id_try.SimplifyArmIdentity.diff
+++ b/src/test/mir-opt/simplify_arm.id_try.SimplifyArmIdentity.diff
@@ -1,7 +1,7 @@
 - // MIR for `id_try` before SimplifyArmIdentity
 + // MIR for `id_try` after SimplifyArmIdentity
   
-  fn id_try(_1: std::result::Result<u8, i32>) -> std::result::Result<u8, i32> {
+  fn id_try(_1: Result<u8, i32>) -> Result<u8, i32> {
       debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:23:11: 23:12
       let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:23:34: 23:49
       let _2: u8;                          // in scope 0 at $DIR/simplify-arm.rs:24:9: 24:10
@@ -26,7 +26,7 @@
 -                 debug t => _9;           // in scope 7 at $DIR/simplify-arm.rs:24:14: 24:15
 +                 debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify-arm.rs:24:14: 24:15
               }
-              scope 8 (inlined <std::result::Result<u8, i32> as Try>::from_error) { // at $DIR/simplify-arm.rs:24:13: 24:15
+              scope 8 (inlined <Result<u8, i32> as Try>::from_error) { // at $DIR/simplify-arm.rs:24:13: 24:15
 -                 debug v => _8;           // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
 +                 debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
                   let mut _12: i32;        // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
@@ -39,7 +39,7 @@
           scope 5 {
           }
       }
-      scope 6 (inlined <std::result::Result<u8, i32> as Try>::into_result) { // at $DIR/simplify-arm.rs:24:13: 24:15
+      scope 6 (inlined <Result<u8, i32> as Try>::into_result) { // at $DIR/simplify-arm.rs:24:13: 24:15
           debug self => _4;                // in scope 6 at $DIR/simplify-arm.rs:24:13: 24:15
       }
   
diff --git a/src/test/mir-opt/simplify_arm.id_try.SimplifyBranchSame.diff b/src/test/mir-opt/simplify_arm.id_try.SimplifyBranchSame.diff
index aa050655cda..ec8ac30228e 100644
--- a/src/test/mir-opt/simplify_arm.id_try.SimplifyBranchSame.diff
+++ b/src/test/mir-opt/simplify_arm.id_try.SimplifyBranchSame.diff
@@ -1,7 +1,7 @@
 - // MIR for `id_try` before SimplifyBranchSame
 + // MIR for `id_try` after SimplifyBranchSame
   
-  fn id_try(_1: std::result::Result<u8, i32>) -> std::result::Result<u8, i32> {
+  fn id_try(_1: Result<u8, i32>) -> Result<u8, i32> {
       debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:23:11: 23:12
       let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:23:34: 23:49
       let _2: u8;                          // in scope 0 at $DIR/simplify-arm.rs:24:9: 24:10
@@ -23,7 +23,7 @@
               scope 7 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify-arm.rs:24:14: 24:15
                   debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify-arm.rs:24:14: 24:15
               }
-              scope 8 (inlined <std::result::Result<u8, i32> as Try>::from_error) { // at $DIR/simplify-arm.rs:24:13: 24:15
+              scope 8 (inlined <Result<u8, i32> as Try>::from_error) { // at $DIR/simplify-arm.rs:24:13: 24:15
                   debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
                   let mut _12: i32;        // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
               }
@@ -34,7 +34,7 @@
           scope 5 {
           }
       }
-      scope 6 (inlined <std::result::Result<u8, i32> as Try>::into_result) { // at $DIR/simplify-arm.rs:24:13: 24:15
+      scope 6 (inlined <Result<u8, i32> as Try>::into_result) { // at $DIR/simplify-arm.rs:24:13: 24:15
           debug self => _4;                // in scope 6 at $DIR/simplify-arm.rs:24:13: 24:15
       }
   
diff --git a/src/test/mir-opt/simplify_try.try_identity.DestinationPropagation.diff b/src/test/mir-opt/simplify_try.try_identity.DestinationPropagation.diff
index 3ba0af991f6..b1bae447f9c 100644
--- a/src/test/mir-opt/simplify_try.try_identity.DestinationPropagation.diff
+++ b/src/test/mir-opt/simplify_try.try_identity.DestinationPropagation.diff
@@ -1,7 +1,7 @@
 - // MIR for `try_identity` before DestinationPropagation
 + // MIR for `try_identity` after DestinationPropagation
   
-  fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
+  fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
       debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:7:17: 7:18
       let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:7:41: 7:57
       let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:8:9: 8:10
@@ -23,7 +23,7 @@
               scope 7 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:8:14: 8:15
                   debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify_try.rs:8:14: 8:15
               }
-              scope 8 (inlined <std::result::Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
+              scope 8 (inlined <Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
                   debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
                   let mut _12: i32;        // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
               }
@@ -34,7 +34,7 @@
           scope 5 {
           }
       }
-      scope 6 (inlined <std::result::Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
+      scope 6 (inlined <Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
 -         debug self => _4;                // in scope 6 at $DIR/simplify_try.rs:8:13: 8:15
 +         debug self => _0;                // in scope 6 at $DIR/simplify_try.rs:8:13: 8:15
       }
diff --git a/src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff b/src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff
index 9c91762eb4e..df274852f68 100644
--- a/src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff
+++ b/src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff
@@ -1,7 +1,7 @@
 - // MIR for `try_identity` before SimplifyArmIdentity
 + // MIR for `try_identity` after SimplifyArmIdentity
   
-  fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
+  fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
       debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:7:17: 7:18
       let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:7:41: 7:57
       let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:8:9: 8:10
@@ -26,7 +26,7 @@
 -                 debug t => _9;           // in scope 7 at $DIR/simplify_try.rs:8:14: 8:15
 +                 debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify_try.rs:8:14: 8:15
               }
-              scope 8 (inlined <std::result::Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
+              scope 8 (inlined <Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
 -                 debug v => _8;           // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
 +                 debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
                   let mut _12: i32;        // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
@@ -39,7 +39,7 @@
           scope 5 {
           }
       }
-      scope 6 (inlined <std::result::Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
+      scope 6 (inlined <Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
           debug self => _4;                // in scope 6 at $DIR/simplify_try.rs:8:13: 8:15
       }
   
diff --git a/src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir b/src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir
index cd8436a971e..37274691fb4 100644
--- a/src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir
+++ b/src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir
@@ -1,6 +1,6 @@
 // MIR for `try_identity` after SimplifyBranchSame
 
-fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
+fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
     debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:7:17: 7:18
     let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:7:41: 7:57
     let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:8:9: 8:10
@@ -22,7 +22,7 @@ fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i
             scope 7 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:8:14: 8:15
                 debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify_try.rs:8:14: 8:15
             }
-            scope 8 (inlined <std::result::Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
+            scope 8 (inlined <Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
                 debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
                 let mut _12: i32;        // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
             }
@@ -33,7 +33,7 @@ fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i
         scope 5 {
         }
     }
-    scope 6 (inlined <std::result::Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
+    scope 6 (inlined <Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
         debug self => _4;                // in scope 6 at $DIR/simplify_try.rs:8:13: 8:15
     }
 
diff --git a/src/test/mir-opt/simplify_try.try_identity.SimplifyLocals.after.mir b/src/test/mir-opt/simplify_try.try_identity.SimplifyLocals.after.mir
index 73f77f35a2b..f8adcced4b3 100644
--- a/src/test/mir-opt/simplify_try.try_identity.SimplifyLocals.after.mir
+++ b/src/test/mir-opt/simplify_try.try_identity.SimplifyLocals.after.mir
@@ -1,6 +1,6 @@
 // MIR for `try_identity` after SimplifyLocals
 
-fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
+fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
     debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:7:17: 7:18
     let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:7:41: 7:57
     scope 1 {
@@ -12,7 +12,7 @@ fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i
             scope 7 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:8:14: 8:15
                 debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify_try.rs:8:14: 8:15
             }
-            scope 8 (inlined <std::result::Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
+            scope 8 (inlined <Result<u32, i32> as Try>::from_error) { // at $DIR/simplify_try.rs:8:13: 8:15
                 debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify_try.rs:8:13: 8:15
             }
         }
@@ -22,7 +22,7 @@ fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i
         scope 5 {
         }
     }
-    scope 6 (inlined <std::result::Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
+    scope 6 (inlined <Result<u32, i32> as Try>::into_result) { // at $DIR/simplify_try.rs:8:13: 8:15
         debug self => _0;                // in scope 6 at $DIR/simplify_try.rs:8:13: 8:15
     }
 
diff --git a/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir b/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir
index 9bca5d24605..d18f6308ded 100644
--- a/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir
+++ b/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir
@@ -22,38 +22,62 @@ fn move_out_by_subslice() -> () {
         _3 = Box(i32);                   // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
         (*_3) = const 1_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
         _2 = move _3;                    // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
+        drop(_3) -> [return: bb1, unwind: bb9]; // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
+    }
+
+    bb1: {
         StorageDead(_3);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
         StorageLive(_4);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
         StorageLive(_5);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
         _5 = Box(i32);                   // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
         (*_5) = const 2_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
         _4 = move _5;                    // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
+        drop(_5) -> [return: bb2, unwind: bb8]; // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
+    }
+
+    bb2: {
         StorageDead(_5);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
         _1 = [move _2, move _4];         // scope 0 at $DIR/uniform_array_move_out.rs:11:13: 11:27
+        drop(_4) -> [return: bb3, unwind: bb9]; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+    }
+
+    bb3: {
         StorageDead(_4);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+        drop(_2) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+    }
+
+    bb4: {
         StorageDead(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
         FakeRead(ForLet, _1);            // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
         StorageLive(_6);                 // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
         _6 = move _1[0..2];              // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
         _0 = const ();                   // scope 0 at $DIR/uniform_array_move_out.rs:10:27: 13:2
-        drop(_6) -> [return: bb1, unwind: bb3]; // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+        drop(_6) -> [return: bb5, unwind: bb7]; // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
     }
 
-    bb1: {
+    bb5: {
         StorageDead(_6);                 // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
-        drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+        drop(_1) -> [return: bb6, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
     }
 
-    bb2: {
+    bb6: {
         StorageDead(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
         return;                          // scope 0 at $DIR/uniform_array_move_out.rs:13:2: 13:2
     }
 
-    bb3 (cleanup): {
-        drop(_1) -> bb4;                 // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+    bb7 (cleanup): {
+        drop(_1) -> bb10;                // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+    }
+
+    bb8 (cleanup): {
+        drop(_4) -> bb9;                 // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+    }
+
+    bb9 (cleanup): {
+        drop(_2) -> bb10;                // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
     }
 
-    bb4 (cleanup): {
+    bb10 (cleanup): {
         resume;                          // scope 0 at $DIR/uniform_array_move_out.rs:10:1: 13:2
     }
 }
diff --git a/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir b/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir
index c9004416f2e..eda8e5fd3af 100644
--- a/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir
+++ b/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir
@@ -22,38 +22,62 @@ fn move_out_from_end() -> () {
         _3 = Box(i32);                   // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
         (*_3) = const 1_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
         _2 = move _3;                    // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
+        drop(_3) -> [return: bb1, unwind: bb9]; // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
+    }
+
+    bb1: {
         StorageDead(_3);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
         StorageLive(_4);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
         StorageLive(_5);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
         _5 = Box(i32);                   // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
         (*_5) = const 2_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
         _4 = move _5;                    // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
+        drop(_5) -> [return: bb2, unwind: bb8]; // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
+    }
+
+    bb2: {
         StorageDead(_5);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
         _1 = [move _2, move _4];         // scope 0 at $DIR/uniform_array_move_out.rs:5:13: 5:27
+        drop(_4) -> [return: bb3, unwind: bb9]; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+    }
+
+    bb3: {
         StorageDead(_4);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+        drop(_2) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+    }
+
+    bb4: {
         StorageDead(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
         FakeRead(ForLet, _1);            // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
         StorageLive(_6);                 // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
         _6 = move _1[1 of 2];            // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
         _0 = const ();                   // scope 0 at $DIR/uniform_array_move_out.rs:4:24: 7:2
-        drop(_6) -> [return: bb1, unwind: bb3]; // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+        drop(_6) -> [return: bb5, unwind: bb7]; // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
     }
 
-    bb1: {
+    bb5: {
         StorageDead(_6);                 // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
-        drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+        drop(_1) -> [return: bb6, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
     }
 
-    bb2: {
+    bb6: {
         StorageDead(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
         return;                          // scope 0 at $DIR/uniform_array_move_out.rs:7:2: 7:2
     }
 
-    bb3 (cleanup): {
-        drop(_1) -> bb4;                 // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+    bb7 (cleanup): {
+        drop(_1) -> bb10;                // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+    }
+
+    bb8 (cleanup): {
+        drop(_4) -> bb9;                 // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+    }
+
+    bb9 (cleanup): {
+        drop(_2) -> bb10;                // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
     }
 
-    bb4 (cleanup): {
+    bb10 (cleanup): {
         resume;                          // scope 0 at $DIR/uniform_array_move_out.rs:4:1: 7:2
     }
 }
diff --git a/src/test/run-make-fulldeps/coverage-llvmir/Makefile b/src/test/run-make-fulldeps/coverage-llvmir/Makefile
index 54fc3d16864..7d9121ee2f8 100644
--- a/src/test/run-make-fulldeps/coverage-llvmir/Makefile
+++ b/src/test/run-make-fulldeps/coverage-llvmir/Makefile
@@ -1,4 +1,5 @@
 # needs-profiler-support
+# min-llvm-version: 11.0
 
 -include ../coverage/coverage_tools.mk
 
@@ -48,12 +49,7 @@ else
 		-DINSTR_PROF_ORDERFILE='$(DATA_SECTION_PREFIX)__llvm_orderfile'
 endif
 
-ifeq ($(LLVM_VERSION_11_PLUS),true)
 all: test_llvm_ir
-else
-$(info Rust option `-Z instrument-coverage` requires LLVM 11 or higher. Test skipped.)
-all:
-endif
 
 test_llvm_ir:
 	# Compile the test program with non-experimental coverage instrumentation, and generate LLVM IR
diff --git a/src/test/run-make-fulldeps/coverage-reports/Makefile b/src/test/run-make-fulldeps/coverage-reports/Makefile
index f98245b4a99..a700cf68cd9 100644
--- a/src/test/run-make-fulldeps/coverage-reports/Makefile
+++ b/src/test/run-make-fulldeps/coverage-reports/Makefile
@@ -1,5 +1,7 @@
+# ignore-test Broken; accidentally silently ignored on Linux CI; FIXME(#81688)
 # needs-profiler-support
 # ignore-windows-gnu
+# min-llvm-version: 11.0
 
 # FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works
 # properly. Since we only have GCC on the CI ignore the test for now.
@@ -67,12 +69,7 @@ ifdef RUSTC_BLESS_TEST
 DEBUG_FLAG=--debug
 endif
 
-ifeq ($(LLVM_VERSION_11_PLUS),true)
 all: $(patsubst $(SOURCEDIR)/lib/%.rs,%,$(wildcard $(SOURCEDIR)/lib/*.rs)) $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs))
-else
-$(info Rust option `-Z instrument-coverage` requires LLVM 11 or higher. Test skipped.)
-all:
-endif
 
 # Ensure there are no `expected` results for tests that may have been removed or renamed
 .PHONY: clear_expected_if_blessed
diff --git a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt
index 4c03e950af0..e14e733fff6 100644
--- a/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt
+++ b/src/test/run-make-fulldeps/coverage-reports/expected_show_coverage.uses_crate.txt
@@ -19,12 +19,12 @@
    18|      2|    println!("used_only_from_bin_crate_generic_function with {:?}", arg);
    19|      2|}
   ------------------
-  | used_crate::used_only_from_bin_crate_generic_function::<&alloc::vec::Vec<i32>>:
+  | used_crate::used_only_from_bin_crate_generic_function::<&str>:
   |   17|      1|pub fn used_only_from_bin_crate_generic_function<T: Debug>(arg: T) {
   |   18|      1|    println!("used_only_from_bin_crate_generic_function with {:?}", arg);
   |   19|      1|}
   ------------------
-  | used_crate::used_only_from_bin_crate_generic_function::<&str>:
+  | used_crate::used_only_from_bin_crate_generic_function::<&alloc::vec::Vec<i32>>:
   |   17|      1|pub fn used_only_from_bin_crate_generic_function<T: Debug>(arg: T) {
   |   18|      1|    println!("used_only_from_bin_crate_generic_function with {:?}", arg);
   |   19|      1|}
diff --git a/src/test/run-make-fulldeps/coverage-spanview/Makefile b/src/test/run-make-fulldeps/coverage-spanview/Makefile
index 84b5d0e522f..cd54ac0ed4c 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/Makefile
+++ b/src/test/run-make-fulldeps/coverage-spanview/Makefile
@@ -1,4 +1,5 @@
 # needs-profiler-support
+# min-llvm-version: 11.0
 
 -include ../coverage/coverage_tools.mk
 
@@ -20,12 +21,7 @@ For revisions in Pull Requests (PR):
 endef
 export SPANVIEW_HEADER
 
-ifeq ($(LLVM_VERSION_11_PLUS),true)
 all: $(patsubst $(SOURCEDIR)/lib/%.rs,%,$(wildcard $(SOURCEDIR)/lib/*.rs)) $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs))
-else
-$(info Rust option `-Z instrument-coverage` requires LLVM 11 or higher. Test skipped.)
-all:
-endif
 
 # Ensure there are no `expected` results for tests that may have been removed or renamed
 .PHONY: clear_expected_if_blessed
@@ -46,6 +42,7 @@ endif
 				echo "--edition=2018" \
 			) \
 			--crate-type rlib \
+			-Ztrim-diagnostic-paths=no \
 			-Zinstrument-coverage \
 			-Zdump-mir=InstrumentCoverage \
 			-Zdump-mir-spanview \
@@ -77,6 +74,7 @@ endif
 				echo "--edition=2018" \
 			) \
 			-L "$(TMPDIR)" \
+			-Ztrim-diagnostic-paths=no \
 			-Zinstrument-coverage \
 			-Zdump-mir=InstrumentCoverage \
 			-Zdump-mir-spanview \
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html
index b058dce2983..a302b974ae1 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html
@@ -81,10 +81,10 @@ For revisions in Pull Requests (PR):
 7:9-7:33: @1[18]: _13 = &amp;(*_32)
 7:9-7:33: @1[19]: _12 = &amp;(*_13)
 7:9-7:33: @1[20]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-7:9-7:33: @1.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
-7:9-7:33: @3.Call: _5 = _print(move _6) -&gt; [return: bb4, unwind: bb7]
+7:9-7:33: @1.Call: _6 = std::fmt::Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
+7:9-7:33: @3.Call: _5 = std::io::_print(move _6) -&gt; [return: bb4, unwind: bb7]
 7:9-7:33: @4[5]: _4 = const ()
-8:9-8:37: @4.Call: begin_panic::&lt;&amp;str&gt;(const &quot;panics and aborts&quot;) -&gt; bb7"><span class="annotation">@1,3,4⦊</span>println!("aborting...");</span></span>
+8:9-8:37: @4.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;panics and aborts&quot;) -&gt; bb7"><span class="annotation">@1,3,4⦊</span>println!("aborting...");</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="7:18-7:31: @1[6]: _33 = const might_abort::promoted[3]
 7:18-7:31: @1[7]: _9 = &amp;(*_33)
 7:18-7:31: @1[8]: _8 = &amp;(*_9)
@@ -95,10 +95,10 @@ For revisions in Pull Requests (PR):
 7:9-7:33: @1[18]: _13 = &amp;(*_32)
 7:9-7:33: @1[19]: _12 = &amp;(*_13)
 7:9-7:33: @1[20]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-7:9-7:33: @1.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
-7:9-7:33: @3.Call: _5 = _print(move _6) -&gt; [return: bb4, unwind: bb7]
+7:9-7:33: @1.Call: _6 = std::fmt::Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
+7:9-7:33: @3.Call: _5 = std::io::_print(move _6) -&gt; [return: bb4, unwind: bb7]
 7:9-7:33: @4[5]: _4 = const ()
-8:9-8:37: @4.Call: begin_panic::&lt;&amp;str&gt;(const &quot;panics and aborts&quot;) -&gt; bb7">        panic!("panics and aborts");<span class="annotation">⦉@1,3,4</span></span></span><span class="code" style="--layer: 0"></span></span>
+8:9-8:37: @4.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;panics and aborts&quot;) -&gt; bb7">        panic!("panics and aborts");<span class="annotation">⦉@1,3,4</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="code even" style="--layer: 1" title="10:18-10:31: @2[6]: _31 = const might_abort::promoted[1]
 10:18-10:31: @2[7]: _23 = &amp;(*_31)
 10:18-10:31: @2[8]: _22 = &amp;(*_23)
@@ -109,8 +109,8 @@ For revisions in Pull Requests (PR):
 10:9-10:33: @2[18]: _27 = &amp;(*_30)
 10:9-10:33: @2[19]: _26 = &amp;(*_27)
 10:9-10:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-10:9-10:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-10:9-10:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+10:9-10:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+10:9-10:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 10:9-10:33: @6[5]: _18 = const ()
 9:12-11:6: @6[7]: _0 = const ()
 12:2-12:2: @6.Return: return"><span class="annotation">@2,5,6⦊</span>{</span></span>
@@ -124,8 +124,8 @@ For revisions in Pull Requests (PR):
 10:9-10:33: @2[18]: _27 = &amp;(*_30)
 10:9-10:33: @2[19]: _26 = &amp;(*_27)
 10:9-10:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-10:9-10:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-10:9-10:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+10:9-10:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+10:9-10:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 10:9-10:33: @6[5]: _18 = const ()
 9:12-11:6: @6[7]: _0 = const ()
 12:2-12:2: @6.Return: return">        println!("Don't Panic");</span></span>
@@ -139,8 +139,8 @@ For revisions in Pull Requests (PR):
 10:9-10:33: @2[18]: _27 = &amp;(*_30)
 10:9-10:33: @2[19]: _26 = &amp;(*_27)
 10:9-10:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-10:9-10:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-10:9-10:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+10:9-10:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+10:9-10:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 10:9-10:33: @6[5]: _18 = const ()
 9:12-11:6: @6[7]: _0 = const ()
 12:2-12:2: @6.Return: return">    }</span></span>
@@ -154,8 +154,8 @@ For revisions in Pull Requests (PR):
 10:9-10:33: @2[18]: _27 = &amp;(*_30)
 10:9-10:33: @2[19]: _26 = &amp;(*_27)
 10:9-10:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-10:9-10:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-10:9-10:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+10:9-10:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+10:9-10:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 10:9-10:33: @6[5]: _18 = const ()
 9:12-11:6: @6[7]: _0 = const ()
 12:2-12:2: @6.Return: return">}<span class="annotation">⦉@2,5,6</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html
index 823bb0cfd84..b7f3cf0819f 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html
@@ -80,13 +80,13 @@ For revisions in Pull Requests (PR):
 5:5-5:48: @0[22]: _15 = (_13.0: &amp;u32)
 5:5-5:48: @0[25]: _17 = &amp;(*_15)
 5:5-5:48: @0[27]: _18 = &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))
-5:5-5:48: @0.Call: _16 = ArgumentV1::new::&lt;u32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb12]
+5:5-5:48: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb12]
 5:5-5:48: @1[2]: _12 = [move _16]
 5:5-5:48: @1[5]: _11 = &amp;_12
 5:5-5:48: @1[6]: _10 = &amp;(*_11)
 5:5-5:48: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-5:5-5:48: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb12]
-5:5-5:48: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb12]
+5:5-5:48: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb12]
+5:5-5:48: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb12]
 5:5-5:48: @3[6]: _2 = const ()"><span class="annotation">@0,1,2,3,4⦊</span>println!("does 1 + 1 = {}?", one_plus_one);<span class="annotation">⦉@0,1,2,3,4</span></span></span><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">    assert_eq!(</span><span><span class="code even" style="--layer: 1" title="6:16-6:21: @3[11]: _23 = CheckedAdd(const 1_u32, const 1_u32)"><span class="annotation">@0,1,2,3,4⦊</span>1 + 1<span class="annotation">⦉@0,1,2,3,4</span></span></span><span class="code" style="--layer: 0">, one_plus_one, </span><span><span class="code odd" style="--layer: 1" title="6:37-6:61: @5[28]: _70 = const might_fail_assert::promoted[1]
 6:37-6:61: @5[29]: _50 = &amp;(*_70)
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html
index 8f61257ca1b..64fc1568b00 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html
@@ -69,16 +69,16 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 16"><span class="line">        <span><span class="code even" style="--layer: 1" title="17:38-17:74: @1[3]: _13 = (move _14,)
-17:38-17:74: @1[5]: FakeRead(ForMatchedPlace, _13)
-17:38-17:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
-17:38-17:74: @1[10]: _27 = &amp;(*_25)
-17:38-17:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-17:38-17:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
-17:38-17:74: @2[2]: _12 = [move _26]
-17:38-17:74: @2[5]: _11 = &amp;_12
-17:38-17:74: @2[6]: _10 = &amp;(*_11)
-17:38-17:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-17:38-17:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
+<div class="code" style="counter-reset: line 23"><span class="line">        <span><span class="code even" style="--layer: 1" title="24:38-24:74: @1[3]: _13 = (move _14,)
+24:38-24:74: @1[5]: FakeRead(ForMatchedPlace, _13)
+24:38-24:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
+24:38-24:74: @1[10]: _27 = &amp;(*_25)
+24:38-24:74: @1[12]: _28 = &lt;std::fmt::Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:38-24:74: @1.Call: _26 = std::fmt::ArgumentV1::new::&lt;std::fmt::Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
+24:38-24:74: @2[2]: _12 = [move _26]
+24:38-24:74: @2[5]: _11 = &amp;_12
+24:38-24:74: @2[6]: _10 = &amp;(*_11)
+24:38-24:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+24:38-24:74: @2.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html
index 923c669e72d..1bbcfa5744b 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html
@@ -69,16 +69,16 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 16"><span class="line">        <span><span class="code even" style="--layer: 1" title="17:38-17:74: @1[3]: _13 = (move _14,)
-17:38-17:74: @1[5]: FakeRead(ForMatchedPlace, _13)
-17:38-17:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
-17:38-17:74: @1[10]: _27 = &amp;(*_25)
-17:38-17:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-17:38-17:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
-17:38-17:74: @2[2]: _12 = [move _26]
-17:38-17:74: @2[5]: _11 = &amp;_12
-17:38-17:74: @2[6]: _10 = &amp;(*_11)
-17:38-17:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-17:38-17:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
+<div class="code" style="counter-reset: line 23"><span class="line">        <span><span class="code even" style="--layer: 1" title="24:38-24:74: @1[3]: _13 = (move _14,)
+24:38-24:74: @1[5]: FakeRead(ForMatchedPlace, _13)
+24:38-24:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
+24:38-24:74: @1[10]: _27 = &amp;(*_25)
+24:38-24:74: @1[12]: _28 = &lt;std::fmt::Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:38-24:74: @1.Call: _26 = std::fmt::ArgumentV1::new::&lt;std::fmt::Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
+24:38-24:74: @2[2]: _12 = [move _26]
+24:38-24:74: @2[5]: _11 = &amp;_12
+24:38-24:74: @2[6]: _10 = &amp;(*_11)
+24:38-24:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+24:38-24:74: @2.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html
index 59f62959998..14cb98d20c9 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html
@@ -69,16 +69,16 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 16"><span class="line">        <span><span class="code even" style="--layer: 1" title="17:38-17:74: @1[3]: _13 = (move _14,)
-17:38-17:74: @1[5]: FakeRead(ForMatchedPlace, _13)
-17:38-17:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
-17:38-17:74: @1[10]: _27 = &amp;(*_25)
-17:38-17:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-17:38-17:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
-17:38-17:74: @2[2]: _12 = [move _26]
-17:38-17:74: @2[5]: _11 = &amp;_12
-17:38-17:74: @2[6]: _10 = &amp;(*_11)
-17:38-17:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-17:38-17:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
+<div class="code" style="counter-reset: line 23"><span class="line">        <span><span class="code even" style="--layer: 1" title="24:38-24:74: @1[3]: _13 = (move _14,)
+24:38-24:74: @1[5]: FakeRead(ForMatchedPlace, _13)
+24:38-24:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
+24:38-24:74: @1[10]: _27 = &amp;(*_25)
+24:38-24:74: @1[12]: _28 = &lt;std::fmt::Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:38-24:74: @1.Call: _26 = std::fmt::ArgumentV1::new::&lt;std::fmt::Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
+24:38-24:74: @2[2]: _12 = [move _26]
+24:38-24:74: @2[5]: _11 = &amp;_12
+24:38-24:74: @2[6]: _10 = &amp;(*_11)
+24:38-24:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+24:38-24:74: @2.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html
index 19707255d07..9a5bd6e42cd 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html
@@ -70,166 +70,166 @@ For revisions in Pull Requests (PR):
 </head>
 <body>
 <div class="code" style="counter-reset: line 109"><span class="line">    <span><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)"><span class="annotation">@0,1,2,3,4,5⦊</span>pub fn block_on&lt;F: Future&gt;(mut future: F) -&gt; F::Output {</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">        let mut future = unsafe { Pin::new_unchecked(&amp;mut future) };</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)"></span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">        static VTABLE: RawWakerVTable = RawWakerVTable::new(</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">            |_| unimplemented!("clone"),</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">            |_| unimplemented!("wake"),</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">            |_| unimplemented!("wake_by_ref"),</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">            |_| (),</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">        );</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">        let waker = unsafe { Waker::from_raw(RawWaker::new(core::ptr::null(), &amp;VTABLE)) };</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="111:54-111:65: @0[2]: _3 = &amp;mut _1
-111:35-111:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb23]
+111:35-111:66: @0.Call: _2 = std::pin::Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
 111:13-111:23: @1[1]: FakeRead(ForLet, _2)
-119:60-119:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb23]
-119:80-119:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+119:60-119:77: @1.Call: _6 = std::ptr::null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+119:80-119:86: @2[3]: _9 = const {alloc0: &amp;std::task::RawWakerVTable}
 119:79-119:86: @2[4]: _8 = &amp;(*_9)
 119:79-119:86: @2[5]: _7 = &amp;(*_8)
-119:46-119:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb23]
-119:30-119:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb23]
+119:46-119:87: @2.Call: _5 = std::task::RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+119:30-119:88: @3.Call: _4 = std::task::Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
 119:13-119:18: @4[1]: FakeRead(ForLet, _4)
 120:47-120:53: @4[7]: _12 = &amp;_4
 120:47-120:53: @4[8]: _11 = &amp;(*_12)
-120:27-120:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb22]
+120:27-120:54: @4.Call: _10 = std::task::Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
 120:13-120:24: @5[1]: FakeRead(ForLet, _10)">        let mut context = Context::from_waker(&amp;waker)<span class="annotation">⦉@0,1,2,3,4,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">        loop {</span></span>
 <span class="line"><span class="code" style="--layer: 0">            if let Poll::Ready(</span><span><span class="code odd" style="--layer: 1" title="123:32-123:35: @12[1]: _20 = move ((_14 as Ready).0: &lt;F as std::future::Future&gt;::Output)"><span class="annotation">@10,12,14,15,16,17⦊</span>val<span class="annotation">⦉@10,12,14,15,16,17</span></span></span><span class="code" style="--layer: 0">) = </span><span><span class="code even" style="--layer: 1" title="123:39-123:45: @7[3]: _16 = &amp;mut _2
-123:39-123:54: @7.Call: _15 = Pin::&lt;&amp;mut F&gt;::as_mut(move _16) -&gt; [return: bb8, unwind: bb22]
+123:39-123:54: @7.Call: _15 = std::pin::Pin::&lt;&amp;mut F&gt;::as_mut(move _16) -&gt; [return: bb8, unwind: bb19]
 123:60-123:72: @8[3]: _18 = &amp;mut _10
 123:60-123:72: @8[4]: _17 = &amp;mut (*_18)
-123:39-123:73: @8.Call: _14 = &lt;F as Future&gt;::poll(move _15, move _17) -&gt; [return: bb9, unwind: bb22]
+123:39-123:73: @8.Call: _14 = &lt;F as std::future::Future&gt;::poll(move _15, move _17) -&gt; [return: bb9, unwind: bb19]
 123:39-123:73: @9[2]: FakeRead(ForMatchedPlace, _14)"><span class="annotation">@6,7,8,9⦊</span>future.as_mut().poll(&amp;mut context)<span class="annotation">⦉@6,7,8,9</span></span></span><span class="code" style="--layer: 0"> {</span></span>
 <span class="line"><span class="code" style="--layer: 0">                break </span><span><span class="code odd" style="--layer: 1" title="124:23-124:26: @12[2]: _0 = move _20"><span class="annotation">@10,12,14,15,16,17⦊</span>val<span class="annotation">⦉@10,12,14,15,16,17</span></span></span><span class="code" style="--layer: 0">;</span></span>
 <span class="line"><span class="code" style="--layer: 0">            }</span><span><span class="code even" style="--layer: 1" title="125:14-125:14: @11[0]: _13 = const ()"><span class="annotation">@11,13⦊</span>‸<span class="annotation">⦉@11,13</span></span></span><span class="code" style="--layer: 0"></span></span>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html
index 611799161d3..b892af0ed37 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html
@@ -69,121 +69,121 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 92"><span class="line"><span><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<div class="code" style="counter-reset: line 92"><span class="line"><span><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8,9,10,11,12,13⦊</span>fn main() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    let _ = g(10);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    let _ = h(9);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    let mut future = Box::pin(i(8));</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    j(7);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    l(6);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    let _ = m(5);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">    executor::block_on(future.as_mut());</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb15]
-95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb15]
-96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb15]
-96:22-96:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
+<span class="line"><span class="code even" style="--layer: 1" title="94:13-94:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb16]
+95:13-95:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb16]
+96:31-96:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb16]
+96:22-96:36: @5.Call: _3 = std::boxed::Box::&lt;impl std::future::Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb15]
 96:9-96:19: @6[1]: FakeRead(ForLet, _3)
 97:5-97:9: @6.Call: _5 = j(const 7_u8) -&gt; [return: bb7, unwind: bb14]
 98:5-98:9: @7.Call: _6 = l(const 6_u8) -&gt; [return: bb8, unwind: bb14]
 99:13-99:17: @8.Call: _7 = m(const 5_u8) -&gt; [return: bb9, unwind: bb14]
 100:24-100:30: @10[4]: _10 = &amp;mut _3
-100:24-100:39: @10.Call: _9 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
-100:5-100:40: @11.Call: _8 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
+100:24-100:39: @10.Call: _9 = std::pin::Pin::&lt;std::boxed::Box&lt;impl std::future::Future&gt;&gt;::as_mut(move _10) -&gt; [return: bb11, unwind: bb14]
+100:5-100:40: @11.Call: _8 = executor::block_on::&lt;std::pin::Pin&lt;&amp;mut impl std::future::Future&gt;&gt;(move _9) -&gt; [return: bb12, unwind: bb14]
 93:11-101:2: @12[2]: _0 = const ()
 101:2-101:2: @13.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html
index b4b171dc955..3998295a052 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html
@@ -86,11 +86,11 @@ For revisions in Pull Requests (PR):
 36:21-38:10: @1[1]: _3 = const ()">        }<span class="annotation">⦉@1</span></span></span><span><span class="code even" style="--layer: 1" title="38:10-38:10: @2[0]: _3 = const ()"><span class="annotation">@2⦊</span>‸<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="code odd" style="--layer: 1" title="39:9-39:23: @3[4]: _6 = const &quot;alt string 2&quot;
 39:9-39:23: @3[5]: _5 = &amp;(*_6)
-39:9-39:34: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+39:9-39:34: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 40:6-40:6: @4.Return: return"><span class="annotation">@3,4⦊</span>"alt string 2".to_owned()</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="39:9-39:23: @3[4]: _6 = const &quot;alt string 2&quot;
 39:9-39:23: @3[5]: _5 = &amp;(*_6)
-39:9-39:34: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+39:9-39:34: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 40:6-40:6: @4.Return: return">    }<span class="annotation">⦉@3,4</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#10}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#10}.-------.InstrumentCoverage.0.html
index c1edc3eb929..3bdfe71b48c 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#10}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#10}.-------.InstrumentCoverage.0.html
@@ -86,11 +86,11 @@ For revisions in Pull Requests (PR):
 21:29-23:18: @1[1]: _3 = const ()">                }<span class="annotation">⦉@1</span></span></span><span><span class="code even" style="--layer: 1" title="23:18-23:18: @2[0]: _3 = const ()"><span class="annotation">@2⦊</span>‸<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="code odd" style="--layer: 1" title="24:17-24:31: @3[4]: _6 = const &quot;alt string 1&quot;
 24:17-24:31: @3[5]: _5 = &amp;(*_6)
-24:17-24:42: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+24:17-24:42: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 25:14-25:14: @4.Return: return"><span class="annotation">@3,4⦊</span>"alt string 1".to_owned()</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="24:17-24:31: @3[4]: _6 = const &quot;alt string 1&quot;
 24:17-24:31: @3[5]: _5 = &amp;(*_6)
-24:17-24:42: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+24:17-24:42: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 25:14-25:14: @4.Return: return">            }<span class="annotation">⦉@3,4</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#11}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#11}.-------.InstrumentCoverage.0.html
index 24c1cadacac..4b3f04b5a0c 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#11}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#11}.-------.InstrumentCoverage.0.html
@@ -86,11 +86,11 @@ For revisions in Pull Requests (PR):
 63:29-65:18: @1[1]: _3 = const ()">                }<span class="annotation">⦉@1</span></span></span><span><span class="code even" style="--layer: 1" title="65:18-65:18: @2[0]: _3 = const ()"><span class="annotation">@2⦊</span>‸<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="code odd" style="--layer: 1" title="66:17-66:31: @3[4]: _6 = const &quot;alt string 3&quot;
 66:17-66:31: @3[5]: _5 = &amp;(*_6)
-66:17-66:42: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+66:17-66:42: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 67:14-67:14: @4.Return: return"><span class="annotation">@3,4⦊</span>"alt string 3".to_owned()</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="66:17-66:31: @3[4]: _6 = const &quot;alt string 3&quot;
 66:17-66:31: @3[5]: _5 = &amp;(*_6)
-66:17-66:42: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+66:17-66:42: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 67:14-67:14: @4.Return: return">            }<span class="annotation">⦉@3,4</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html
index 7a3921c5aec..8ae494178f7 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#1}.-------.InstrumentCoverage.0.html
@@ -86,11 +86,11 @@ For revisions in Pull Requests (PR):
 78:21-80:10: @1[1]: _3 = const ()">        }<span class="annotation">⦉@1</span></span></span><span><span class="code even" style="--layer: 1" title="80:10-80:10: @2[0]: _3 = const ()"><span class="annotation">@2⦊</span>‸<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="code odd" style="--layer: 1" title="81:9-81:23: @3[4]: _6 = const &quot;alt string 4&quot;
 81:9-81:23: @3[5]: _5 = &amp;(*_6)
-81:9-81:34: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+81:9-81:34: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 82:6-82:6: @4.Return: return"><span class="annotation">@3,4⦊</span>"alt string 4".to_owned()</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="81:9-81:23: @3[4]: _6 = const &quot;alt string 4&quot;
 81:9-81:23: @3[5]: _5 = &amp;(*_6)
-81:9-81:34: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+81:9-81:34: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 82:6-82:6: @4.Return: return">    }<span class="annotation">⦉@3,4</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html
index 06b817e4318..ad40ba57d69 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#2}.-------.InstrumentCoverage.0.html
@@ -94,13 +94,13 @@ For revisions in Pull Requests (PR):
 103:9-103:29: @3[23]: _18 = (_16.0: &amp;&amp;str)
 103:9-103:29: @3[26]: _20 = &amp;(*_18)
 103:9-103:29: @3[28]: _21 = &lt;&amp;str as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;str, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-103:9-103:29: @3.Call: _19 = ArgumentV1::new::&lt;&amp;str&gt;(move _20, move _21) -&gt; [return: bb4, unwind: bb9]
+103:9-103:29: @3.Call: _19 = std::fmt::ArgumentV1::new::&lt;&amp;str&gt;(move _20, move _21) -&gt; [return: bb4, unwind: bb8]
 103:9-103:29: @4[2]: _15 = [move _19]
 103:9-103:29: @4[5]: _14 = &amp;_15
 103:9-103:29: @4[6]: _13 = &amp;(*_14)
 103:9-103:29: @4[7]: _12 = move _13 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-103:9-103:29: @4.Call: _7 = Arguments::new_v1(move _8, move _12) -&gt; [return: bb5, unwind: bb9]
-103:9-103:29: @5.Call: _6 = format(move _7) -&gt; [return: bb6, unwind: bb9]
+103:9-103:29: @4.Call: _7 = std::fmt::Arguments::new_v1(move _8, move _12) -&gt; [return: bb5, unwind: bb8]
+103:9-103:29: @5.Call: _6 = std::fmt::format(move _7) -&gt; [return: bb6, unwind: bb8]
 103:9-103:29: @6[1]: FakeRead(ForLet, _6)
 103:9-103:29: @6[6]: _0 = move _6
 104:6-104:6: @7.Return: return"><span class="annotation">@3,4,5,6,7⦊</span>format!("'{}'", val)</span></span>
@@ -114,13 +114,13 @@ For revisions in Pull Requests (PR):
 103:9-103:29: @3[23]: _18 = (_16.0: &amp;&amp;str)
 103:9-103:29: @3[26]: _20 = &amp;(*_18)
 103:9-103:29: @3[28]: _21 = &lt;&amp;str as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;str, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-103:9-103:29: @3.Call: _19 = ArgumentV1::new::&lt;&amp;str&gt;(move _20, move _21) -&gt; [return: bb4, unwind: bb9]
+103:9-103:29: @3.Call: _19 = std::fmt::ArgumentV1::new::&lt;&amp;str&gt;(move _20, move _21) -&gt; [return: bb4, unwind: bb8]
 103:9-103:29: @4[2]: _15 = [move _19]
 103:9-103:29: @4[5]: _14 = &amp;_15
 103:9-103:29: @4[6]: _13 = &amp;(*_14)
 103:9-103:29: @4[7]: _12 = move _13 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-103:9-103:29: @4.Call: _7 = Arguments::new_v1(move _8, move _12) -&gt; [return: bb5, unwind: bb9]
-103:9-103:29: @5.Call: _6 = format(move _7) -&gt; [return: bb6, unwind: bb9]
+103:9-103:29: @4.Call: _7 = std::fmt::Arguments::new_v1(move _8, move _12) -&gt; [return: bb5, unwind: bb8]
+103:9-103:29: @5.Call: _6 = std::fmt::format(move _7) -&gt; [return: bb6, unwind: bb8]
 103:9-103:29: @6[1]: FakeRead(ForLet, _6)
 103:9-103:29: @6[6]: _0 = move _6
 104:6-104:6: @7.Return: return">    }<span class="annotation">⦉@3,4,5,6,7</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html
index 09407758400..23101d76a8e 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#3}.-------.InstrumentCoverage.0.html
@@ -81,11 +81,11 @@ For revisions in Pull Requests (PR):
 124:21-126:10: @1[1]: _3 = const ()">        }<span class="annotation">⦉@1</span></span></span><span><span class="code even" style="--layer: 1" title="126:10-126:10: @2[0]: _3 = const ()"><span class="annotation">@2⦊</span>‸<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="code odd" style="--layer: 1" title="127:9-127:35: @3[4]: _6 = const &quot;closure should be unused&quot;
 127:9-127:35: @3[5]: _5 = &amp;(*_6)
-127:9-127:46: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+127:9-127:46: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 128:6-128:6: @4.Return: return"><span class="annotation">@3,4⦊</span>"closure should be unused".to_owned()</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="127:9-127:35: @3[4]: _6 = const &quot;closure should be unused&quot;
 127:9-127:35: @3[5]: _5 = &amp;(*_6)
-127:9-127:46: @3.Call: _0 = &lt;str as ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
+127:9-127:46: @3.Call: _0 = &lt;str as std::borrow::ToOwned&gt;::to_owned(move _5) -&gt; [return: bb4, unwind: bb5]
 128:6-128:6: @4.Return: return">    }<span class="annotation">⦉@3,4</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html
index e28038fd3fe..8ba7a6187fd 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html
@@ -69,47 +69,47 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 94"><span class="line">                      <span><span class="code even" style="--layer: 1" title="95:23-97:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
-95:23-97:6: @0[6]: _7 = &amp;(*_15)
-95:23-97:6: @0[7]: _6 = &amp;(*_7)
-95:23-97:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
-96:28-96:61: @0[14]: _13 = ()
-96:28-96:61: @0[15]: FakeRead(ForMatchedPlace, _13)
-96:28-96:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
-96:28-96:61: @0[17]: _11 = &amp;(*_14)
-96:28-96:61: @0[18]: _10 = &amp;(*_11)
-96:28-96:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-96:28-96:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-96:9-96:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
-95:23-97:6: @2[5]: _0 = const ()
-95:23-97:6: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="95:23-97:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
-95:23-97:6: @0[6]: _7 = &amp;(*_15)
-95:23-97:6: @0[7]: _6 = &amp;(*_7)
-95:23-97:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
-96:28-96:61: @0[14]: _13 = ()
-96:28-96:61: @0[15]: FakeRead(ForMatchedPlace, _13)
-96:28-96:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
-96:28-96:61: @0[17]: _11 = &amp;(*_14)
-96:28-96:61: @0[18]: _10 = &amp;(*_11)
-96:28-96:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-96:28-96:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-96:9-96:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
-95:23-97:6: @2[5]: _0 = const ()
-95:23-97:6: @2.Return: return">        $crate::io::_print($crate::format_args_nl!($($arg)*));</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="95:23-97:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
-95:23-97:6: @0[6]: _7 = &amp;(*_15)
-95:23-97:6: @0[7]: _6 = &amp;(*_7)
-95:23-97:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
-96:28-96:61: @0[14]: _13 = ()
-96:28-96:61: @0[15]: FakeRead(ForMatchedPlace, _13)
-96:28-96:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
-96:28-96:61: @0[17]: _11 = &amp;(*_14)
-96:28-96:61: @0[18]: _10 = &amp;(*_11)
-96:28-96:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-96:28-96:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-96:9-96:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
-95:23-97:6: @2[5]: _0 = const ()
-95:23-97:6: @2.Return: return">    }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
+<div class="code" style="counter-reset: line 110"><span class="line">                      <span><span class="code even" style="--layer: 1" title="111:23-113:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
+111:23-113:6: @0[6]: _7 = &amp;(*_15)
+111:23-113:6: @0[7]: _6 = &amp;(*_7)
+111:23-113:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+112:28-112:61: @0[14]: _13 = ()
+112:28-112:61: @0[15]: FakeRead(ForMatchedPlace, _13)
+112:28-112:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
+112:28-112:61: @0[17]: _11 = &amp;(*_14)
+112:28-112:61: @0[18]: _10 = &amp;(*_11)
+112:28-112:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+112:28-112:61: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+112:9-112:62: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
+111:23-113:6: @2[5]: _0 = const ()
+111:23-113:6: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="111:23-113:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
+111:23-113:6: @0[6]: _7 = &amp;(*_15)
+111:23-113:6: @0[7]: _6 = &amp;(*_7)
+111:23-113:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+112:28-112:61: @0[14]: _13 = ()
+112:28-112:61: @0[15]: FakeRead(ForMatchedPlace, _13)
+112:28-112:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
+112:28-112:61: @0[17]: _11 = &amp;(*_14)
+112:28-112:61: @0[18]: _10 = &amp;(*_11)
+112:28-112:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+112:28-112:61: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+112:9-112:62: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
+111:23-113:6: @2[5]: _0 = const ()
+111:23-113:6: @2.Return: return">        $crate::io::_print($crate::format_args_nl!($($arg)*));</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="111:23-113:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
+111:23-113:6: @0[6]: _7 = &amp;(*_15)
+111:23-113:6: @0[7]: _6 = &amp;(*_7)
+111:23-113:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
+112:28-112:61: @0[14]: _13 = ()
+112:28-112:61: @0[15]: FakeRead(ForMatchedPlace, _13)
+112:28-112:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
+112:28-112:61: @0[17]: _11 = &amp;(*_14)
+112:28-112:61: @0[18]: _10 = &amp;(*_11)
+112:28-112:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+112:28-112:61: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+112:9-112:62: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
+111:23-113:6: @2[5]: _0 = const ()
+111:23-113:6: @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/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html
index d479211aa37..74c75c6c46c 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html
@@ -79,8 +79,8 @@ For revisions in Pull Requests (PR):
 141:61-141:83: @0[17]: _11 = &amp;(*_14)
 141:61-141:83: @0[18]: _10 = &amp;(*_11)
 141:61-141:83: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-141:61-141:83: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-141:61-141:83: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
+141:61-141:83: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+141:61-141:83: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
 141:61-141:83: @2[5]: _0 = const ()
 141:85-141:85: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{ println!("not called") }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html
index 2734c0b2468..386fb1b9e6f 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html
@@ -79,8 +79,8 @@ For revisions in Pull Requests (PR):
 144:9-144:31: @0[17]: _11 = &amp;(*_14)
 144:9-144:31: @0[18]: _10 = &amp;(*_11)
 144:9-144:31: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-144:9-144:31: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-144:9-144:31: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
+144:9-144:31: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+144:9-144:31: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
 144:9-144:31: @2[5]: _0 = const ()
 145:6-145:6: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="144:18-144:30: @0[5]: _15 = const main::{closure#7}::promoted[1]
@@ -93,8 +93,8 @@ For revisions in Pull Requests (PR):
 144:9-144:31: @0[17]: _11 = &amp;(*_14)
 144:9-144:31: @0[18]: _10 = &amp;(*_11)
 144:9-144:31: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-144:9-144:31: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-144:9-144:31: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
+144:9-144:31: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+144:9-144:31: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
 144:9-144:31: @2[5]: _0 = const ()
 145:6-145:6: @2.Return: return">        println!("not called")</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="144:18-144:30: @0[5]: _15 = const main::{closure#7}::promoted[1]
@@ -107,8 +107,8 @@ For revisions in Pull Requests (PR):
 144:9-144:31: @0[17]: _11 = &amp;(*_14)
 144:9-144:31: @0[18]: _10 = &amp;(*_11)
 144:9-144:31: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-144:9-144:31: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-144:9-144:31: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
+144:9-144:31: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+144:9-144:31: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
 144:9-144:31: @2[5]: _0 = const ()
 145:6-145:6: @2.Return: return">    }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html
index a032df54ea2..f9da6ac9dfc 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html
@@ -81,8 +81,8 @@ For revisions in Pull Requests (PR):
 149:9-149:31: @0[17]: _11 = &amp;(*_14)
 149:9-149:31: @0[18]: _10 = &amp;(*_11)
 149:9-149:31: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-149:9-149:31: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-149:9-149:31: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
+149:9-149:31: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+149:9-149:31: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
 149:9-149:31: @2[5]: _0 = const ()
 149:33-149:33: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{ println!("not called") }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html
index 3c174e03ebe..e259fc9bb67 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html
@@ -81,8 +81,8 @@ For revisions in Pull Requests (PR):
 153:9-153:31: @0[17]: _11 = &amp;(*_14)
 153:9-153:31: @0[18]: _10 = &amp;(*_11)
 153:9-153:31: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-153:9-153:31: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
-153:9-153:31: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
+153:9-153:31: @0.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
+153:9-153:31: @1.Call: _3 = std::io::_print(move _4) -&gt; [return: bb2, unwind: bb3]
 153:9-153:31: @2[5]: _0 = const ()
 153:33-153:33: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{ println!("not called") }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html
index 3bd446b0e04..a7d1728114e 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html
@@ -69,7079 +69,7079 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb45]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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,35,36,37⦊</span>fn main() {</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>fn main() {</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()">    // dependent conditions.</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()">    println!(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        ,</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        some_string</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()">            .</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        (</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-3:11-155:2: @36[38]: _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,35,36,37</span></span></span><span class="code" style="--layer: 0">||</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42</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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _0 = const ()">        )</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _0 = const ()">    );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _0 = const ()">    let</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _0 = const ()">        a</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _0 = const ()">    =</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-3:11-155:2: @36[38]: _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,35,36,37</span></span></span><span class="code" style="--layer: 0">||</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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-155:2: @41[38]: _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,35,36,37,38,39,40,41,42</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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">    println!(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        ,</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        some_string</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">            .</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        (</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">            a</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        )</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">    );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">    println!(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        ,</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        some_string</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">            .</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _0 = const ()">        (</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-3:11-155:2: @36[38]: _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,35,36,37</span></span></span><span class="code" style="--layer: 0">||</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42</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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _0 = const ()">        )</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _0 = const ()">    );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _0 = const ()">    let</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _0 = const ()">        a</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _0 = const ()">    =</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-3:11-155:2: @36[38]: _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,35,36,37</span></span></span><span class="code" style="--layer: 0">||</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42</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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">    println!(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">        ,</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">        some_string</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">            .</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">        (</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">            a</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">        )</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">    );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">    let</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _0 = const ()">        quote_closure</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">        quote_closure</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _0 = const ()">    =</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-3:11-155:2: @36[38]: _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,35,36,37</span></span></span><span class="code" style="--layer: 0">|val|</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">|val|</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">        format!("'{}'", val)</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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">    println!(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">        "Repeated, quoted 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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">        "Repeated, quoted string: {:?}"</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">        ,</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">        std::iter::repeat("repeat me")</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">        std::iter::repeat("repeat me")</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">            .take(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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">            .take(5)</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">            .map</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">            .map</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">        (</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">            quote_closure</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">            quote_closure</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">        )</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">            .collect::&lt;Vec&lt;_&gt;&gt;()</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">            .collect::&lt;Vec&lt;_&gt;&gt;()</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">    );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">    let</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _0 = const ()">        _unused_closure</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">        _unused_closure</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _0 = const ()">    =</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-3:11-155:2: @36[38]: _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,35,36,37</span></span></span><span class="code" style="--layer: 0">|</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">|</span></span>
 <span class="line"><span class="code" style="--layer: 0">            mut countdown</span></span>
 <span class="line"><span class="code" style="--layer: 0">        |</span></span>
 <span class="line"><span class="code" style="--layer: 0">    {</span></span>
@@ -7149,3773 +7149,3773 @@ For revisions in Pull Requests (PR):
 <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">        "closure should be unused".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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-3:11-155:2: @36[38]: _0 = const ()">    let mut countdown = 10;</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+3:11-155:2: @41[38]: _0 = const ()">    let mut countdown = 10;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-3:11-155:2: @36[38]: _0 = const ()">    let _short_unused_closure = <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,35,36,37</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | countdown += 1</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+3:11-155:2: @41[38]: _0 = const ()">    let _short_unused_closure = <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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | countdown += 1</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-3:11-155:2: @36[38]: _0 = const ()">    // Macros can sometimes confuse the coverage results. Compare this next assignment, with an</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+3:11-155:2: @41[38]: _0 = const ()">    // Macros can sometimes confuse the coverage results. Compare this next assignment, with an</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-3:11-155:2: @36[38]: _0 = const ()">    // unused closure that invokes the `println!()` macro, with the closure assignment above, that</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+3:11-155:2: @41[38]: _0 = const ()">    // unused closure that invokes the `println!()` macro, with the closure assignment above, that</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-3:11-155:2: @36[38]: _0 = const ()">    // does not use a macro. The closure above correctly shows `0` executions.</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+3:11-155:2: @41[38]: _0 = const ()">    // does not use a macro. The closure above correctly shows `0` executions.</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-3:11-155:2: @36[38]: _0 = const ()">    let _short_unused_closure = <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,35,36,37</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | println!("not called")</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+3:11-155:2: @41[38]: _0 = const ()">    let _short_unused_closure = <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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | println!("not called")</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-3:11-155:2: @36[38]: _0 = const ()">    // The closure assignment above is executed, with a line count of `1`, but the `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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+3:11-155:2: @41[38]: _0 = const ()">    // The closure assignment above is executed, with a line count of `1`, but the `println!()`</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-3:11-155:2: @36[38]: _0 = const ()">    // could not have been called, and yet, there is no indication that it wasn't...</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+3:11-155:2: @41[38]: _0 = const ()">    // could not have been called, and yet, there is no indication that it wasn't...</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-3:11-155:2: @36[38]: _0 = const ()">    // ...but adding block braces gives the expected result, showing the block was not executed.</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+3:11-155:2: @41[38]: _0 = const ()">    // ...but adding block braces gives the expected result, showing the block was not executed.</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-3:11-155:2: @36[38]: _0 = const ()">    let _short_unused_closure_block = <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,35,36,37</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | { println!("not called") }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+3:11-155:2: @41[38]: _0 = const ()">    let _short_unused_closure_block = <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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | { println!("not called") }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-3:11-155:2: @36[38]: _0 = const ()">    let _shortish_unused_closure = <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,35,36,37</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | {</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+3:11-155:2: @41[38]: _0 = const ()">    let _shortish_unused_closure = <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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">| _unused_arg: u8 | {</span></span>
 <span class="line"><span class="code" style="--layer: 0">        println!("not called")</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: bb45]
+<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 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-3:11-155:2: @36[38]: _0 = const ()">    let _as_short_unused_closure = <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,35,36,37</span></span></span><span class="code" style="--layer: 0">|</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+3:11-155:2: @41[38]: _0 = const ()">    let _as_short_unused_closure = <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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">|</span></span>
 <span class="line"><span class="code" style="--layer: 0">        _unused_arg: u8</span></span>
-<span class="line"><span class="code" style="--layer: 0">    | { println!("not called") }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb45]
+<span class="line"><span class="code" style="--layer: 0">    | { println!("not called") }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-151:9-151:40: @36[37]: FakeRead(ForLet, _132)
-3:11-155:2: @36[38]: _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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+151:9-151:40: @41[37]: FakeRead(ForLet, _132)
+3:11-155:2: @41[38]: _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,35,36,37,38,39,40,41,42⦊</span>;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-151:9-151:40: @36[37]: FakeRead(ForLet, _132)
-3:11-155:2: @36[38]: _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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+151:9-151:40: @41[37]: FakeRead(ForLet, _132)
+3:11-155:2: @41[38]: _0 = const ()"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-151:9-151:40: @36[37]: FakeRead(ForLet, _132)
-3:11-155:2: @36[38]: _0 = const ()">    let _almost_as_short_unused_closure = <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,35,36,37</span></span></span><span class="code" style="--layer: 0">|</span></span>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+151:9-151:40: @41[37]: FakeRead(ForLet, _132)
+3:11-155:2: @41[38]: _0 = const ()">    let _almost_as_short_unused_closure = <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,35,36,37,38,39,40,41,42</span></span></span><span class="code" style="--layer: 0">|</span></span>
 <span class="line"><span class="code" style="--layer: 0">        _unused_arg: u8</span></span>
-<span class="line"><span class="code" style="--layer: 0">    | { println!("not called") }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb45]
+<span class="line"><span class="code" style="--layer: 0">    | { println!("not called") }</span><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-151:9-151:40: @36[37]: FakeRead(ForLet, _132)
-3:11-155:2: @36[38]: _0 = const ()
-155:2-155:2: @37.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,35,36,37⦊</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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+151:9-151:40: @41[37]: FakeRead(ForLet, _132)
+3:11-155:2: @41[38]: _0 = const ()
+155:2-155:2: @42.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,35,36,37,38,39,40,41,42⦊</span></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-151:9-151:40: @36[37]: FakeRead(ForLet, _132)
-3:11-155:2: @36[38]: _0 = const ()
-155:2-155:2: @37.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: bb45]
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+151:9-151:40: @41[37]: FakeRead(ForLet, _132)
+3:11-155:2: @41[38]: _0 = const ()
+155:2-155:2: @42.Return: return">    ;</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb57]
 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: bb44]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb56]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 8:22-8:29: @3[3]: _6 = _1
 8:20-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: bb45]
-10:27-10:67: @4[0]: _7 = Option::&lt;String&gt;::Some(move _8)
-10:9-10:24: @4[2]: FakeRead(ForLet, _7)
-12:9-12:32: @4[9]: _137 = const main::promoted[4]
-12:9-12:32: @4[10]: _14 = &amp;(*_137)
-12:9-12:32: @4[11]: _13 = &amp;(*_14)
-12:9-12:32: @4[12]: _12 = move _13 as &amp;[&amp;str] (Pointer(Unsize))
-14:9-14:20: @4[22]: _23 = move _7
-14:9-26:10: @4.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: bb5, unwind: bb43]
-14:9-26:10: @5[2]: _21 = &amp;_22
-11:5-27:7: @5[3]: _20 = (move _21,)
-11:5-27:7: @5[5]: FakeRead(ForMatchedPlace, _20)
-11:5-27:7: @5[7]: _26 = (_20.0: &amp;std::string::String)
-11:5-27:7: @5[10]: _28 = &amp;(*_26)
-11:5-27:7: @5[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: @5.Call: _27 = ArgumentV1::new::&lt;String&gt;(move _28, move _29) -&gt; [return: bb6, unwind: bb42]
-11:5-27:7: @6[2]: _19 = [move _27]
-11:5-27:7: @6[5]: _18 = &amp;_19
-11:5-27:7: @6[6]: _17 = &amp;(*_18)
-11:5-27:7: @6[7]: _16 = move _17 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-27:7: @6.Call: _11 = Arguments::new_v1(move _12, move _16) -&gt; [return: bb7, unwind: bb42]
-11:5-27:7: @7.Call: _10 = _print(move _11) -&gt; [return: bb8, unwind: bb42]
-11:5-27:7: @9[6]: _9 = const ()
-29:24-29:58: @9.Call: _31 = &lt;String as From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb10, unwind: bb43]
-29:19-29:59: @10[0]: _30 = Option::&lt;String&gt;::Some(move _31)
-33:9-40:6: @11[3]: _33 = &amp;_5
-31:9-31:10: @11[6]: FakeRead(ForLet, _32)
-42:9-42:32: @11[13]: _136 = const main::promoted[3]
-42:9-42:32: @11[14]: _39 = &amp;(*_136)
-42:9-42:32: @11[15]: _38 = &amp;(*_39)
-42:9-42:32: @11[16]: _37 = move _38 as &amp;[&amp;str] (Pointer(Unsize))
-44:9-44:20: @11[26]: _48 = move _7
-48:13-48:14: @11[28]: _49 = _32
-44:9-49:10: @11.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: bb12, unwind: bb43]
-44:9-49:10: @12[2]: _46 = &amp;_47
-41:5-50:7: @12[3]: _45 = (move _46,)
-41:5-50:7: @12[5]: FakeRead(ForMatchedPlace, _45)
-41:5-50:7: @12[7]: _50 = (_45.0: &amp;std::string::String)
-41:5-50:7: @12[10]: _52 = &amp;(*_50)
-41:5-50:7: @12[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: @12.Call: _51 = ArgumentV1::new::&lt;String&gt;(move _52, move _53) -&gt; [return: bb13, unwind: bb41]
-41:5-50:7: @13[2]: _44 = [move _51]
-41:5-50:7: @13[5]: _43 = &amp;_44
-41:5-50:7: @13[6]: _42 = &amp;(*_43)
-41:5-50:7: @13[7]: _41 = move _42 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-41:5-50:7: @13.Call: _36 = Arguments::new_v1(move _37, move _41) -&gt; [return: bb14, unwind: bb41]
-41:5-50:7: @14.Call: _35 = _print(move _36) -&gt; [return: bb15, unwind: bb41]
-41:5-50:7: @16[6]: _34 = const ()
-52:19-52:23: @16[9]: _54 = Option::&lt;String&gt;::None
-54:9-54:32: @17[7]: _135 = const main::promoted[2]
-54:9-54:32: @17[8]: _60 = &amp;(*_135)
-54:9-54:32: @17[9]: _59 = &amp;(*_60)
-54:9-54:32: @17[10]: _58 = move _59 as &amp;[&amp;str] (Pointer(Unsize))
-56:9-56:20: @17[20]: _69 = move _7
-56:9-68:10: @17.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: bb18, unwind: bb43]
-56:9-68:10: @18[2]: _67 = &amp;_68
-53:5-69:7: @18[3]: _66 = (move _67,)
-53:5-69:7: @18[5]: FakeRead(ForMatchedPlace, _66)
-53:5-69:7: @18[7]: _72 = (_66.0: &amp;std::string::String)
-53:5-69:7: @18[10]: _74 = &amp;(*_72)
-53:5-69:7: @18[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: @18.Call: _73 = ArgumentV1::new::&lt;String&gt;(move _74, move _75) -&gt; [return: bb19, unwind: bb40]
-53:5-69:7: @19[2]: _65 = [move _73]
-53:5-69:7: @19[5]: _64 = &amp;_65
-53:5-69:7: @19[6]: _63 = &amp;(*_64)
-53:5-69:7: @19[7]: _62 = move _63 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-53:5-69:7: @19.Call: _57 = Arguments::new_v1(move _58, move _62) -&gt; [return: bb20, unwind: bb40]
-53:5-69:7: @20.Call: _56 = _print(move _57) -&gt; [return: bb21, unwind: bb40]
-53:5-69:7: @22[6]: _55 = const ()
-71:19-71:23: @22[9]: _76 = Option::&lt;String&gt;::None
-75:9-82:6: @23[3]: _78 = &amp;_5
-73:9-73:10: @23[6]: FakeRead(ForLet, _77)
-84:9-84:32: @23[13]: _134 = const main::promoted[1]
-84:9-84:32: @23[14]: _84 = &amp;(*_134)
-84:9-84:32: @23[15]: _83 = &amp;(*_84)
-84:9-84:32: @23[16]: _82 = move _83 as &amp;[&amp;str] (Pointer(Unsize))
-86:9-86:20: @23[26]: _93 = move _7
-90:13-90:14: @23[28]: _94 = _77
-86:9-91:10: @23.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: bb24, unwind: bb43]
-86:9-91:10: @24[2]: _91 = &amp;_92
-83:5-92:7: @24[3]: _90 = (move _91,)
-83:5-92:7: @24[5]: FakeRead(ForMatchedPlace, _90)
-83:5-92:7: @24[7]: _95 = (_90.0: &amp;std::string::String)
-83:5-92:7: @24[10]: _97 = &amp;(*_95)
-83:5-92:7: @24[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: @24.Call: _96 = ArgumentV1::new::&lt;String&gt;(move _97, move _98) -&gt; [return: bb25, unwind: bb39]
-83:5-92:7: @25[2]: _89 = [move _96]
-83:5-92:7: @25[5]: _88 = &amp;_89
-83:5-92:7: @25[6]: _87 = &amp;(*_88)
-83:5-92:7: @25[7]: _86 = move _87 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-83:5-92:7: @25.Call: _81 = Arguments::new_v1(move _82, move _86) -&gt; [return: bb26, unwind: bb39]
-83:5-92:7: @26.Call: _80 = _print(move _81) -&gt; [return: bb27, unwind: bb39]
-83:5-92:7: @28[6]: _79 = const ()
-97:9-104:6: @28[10]: _100 = &amp;_5
-95:9-95:22: @28[13]: FakeRead(ForLet, _99)
-106:9-106:40: @28[20]: _133 = const main::promoted[0]
-106:9-106:40: @28[21]: _106 = &amp;(*_133)
-106:9-106:40: @28[22]: _105 = &amp;(*_106)
-106:9-106:40: @28[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
-108:9-108:39: @28.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb29, unwind: bb43]
-108:9-109:21: @29.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb30, unwind: bb43]
-112:13-112:26: @30[2]: _118 = _99
-108:9-113:10: @30.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as Iterator&gt;::map::&lt;String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb31, unwind: bb43]
-108:9-114:33: @31.Call: _114 = &lt;Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as Iterator&gt;::collect::&lt;Vec&lt;String&gt;&gt;(move _115) -&gt; [return: bb32, unwind: bb43]
-108:9-114:33: @32[1]: _113 = &amp;_114
-105:5-115:7: @32[2]: _112 = (move _113,)
-105:5-115:7: @32[4]: FakeRead(ForMatchedPlace, _112)
-105:5-115:7: @32[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
-105:5-115:7: @32[9]: _121 = &amp;(*_119)
-105:5-115:7: @32[11]: _122 = &lt;Vec&lt;String&gt; as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-105:5-115:7: @32.Call: _120 = ArgumentV1::new::&lt;Vec&lt;String&gt;&gt;(move _121, move _122) -&gt; [return: bb33, unwind: bb38]
-105:5-115:7: @33[2]: _111 = [move _120]
-105:5-115:7: @33[5]: _110 = &amp;_111
-105:5-115:7: @33[6]: _109 = &amp;(*_110)
-105:5-115:7: @33[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-105:5-115:7: @33.Call: _103 = Arguments::new_v1(move _104, move _108) -&gt; [return: bb34, unwind: bb38]
-105:5-115:7: @34.Call: _102 = _print(move _103) -&gt; [return: bb35, unwind: bb38]
-105:5-115:7: @36[6]: _101 = const ()
-118:9-118:24: @36[13]: FakeRead(ForLet, _123)
-130:25-130:27: @36[15]: _125 = const 10_i32
-130:9-130:22: @36[16]: FakeRead(ForLet, _125)
-131:33-131:67: @36[19]: _127 = &amp;mut _125
-131:9-131:30: @36[22]: FakeRead(ForLet, _126)
-136:9-136:30: @36[25]: FakeRead(ForLet, _128)
-141:9-141:36: @36[28]: FakeRead(ForLet, _129)
-143:9-143:33: @36[31]: FakeRead(ForLet, _130)
-147:9-147:33: @36[34]: FakeRead(ForLet, _131)
-151:9-151:40: @36[37]: FakeRead(ForLet, _132)
-3:11-155:2: @36[38]: _0 = const ()
-155:2-155:2: @37.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,35,36,37</span></span></span></span></div>
+10:32-10:66: @3.Call: _8 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb4, unwind: bb57]
+10:27-10:67: @4[0]: _7 = std::option::Option::&lt;std::string::String&gt;::Some(move _8)
+10:9-10:24: @5[1]: FakeRead(ForLet, _7)
+12:9-12:32: @5[8]: _137 = const main::promoted[4]
+12:9-12:32: @5[9]: _14 = &amp;(*_137)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:18:13: 25:14]&gt;(move _23, move _24) -&gt; [return: bb6, unwind: bb54]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _28, move _29) -&gt; [return: bb7, unwind: bb53]
+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 = std::fmt::Arguments::new_v1(move _12, move _16) -&gt; [return: bb8, unwind: bb53]
+11:5-27:7: @8.Call: _10 = std::io::_print(move _11) -&gt; [return: bb9, unwind: bb53]
+11:5-27:7: @10[6]: _9 = const ()
+29:24-29:58: @10.Call: _31 = &lt;std::string::String as std::convert::From&lt;&amp;str&gt;&gt;::from(const &quot;the string content&quot;) -&gt; [return: bb11, unwind: bb55]
+29:19-29:59: @11[0]: _30 = std::option::Option::&lt;std::string::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]: _136 = const main::promoted[3]
+42:9-42:32: @14[14]: _39 = &amp;(*_136)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:33:9: 40:6]&gt;(move _48, move _49) -&gt; [return: bb15, unwind: bb51]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _52, move _53) -&gt; [return: bb16, unwind: bb50]
+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 = std::fmt::Arguments::new_v1(move _37, move _41) -&gt; [return: bb17, unwind: bb50]
+41:5-50:7: @17.Call: _35 = std::io::_print(move _36) -&gt; [return: bb18, unwind: bb50]
+41:5-50:7: @19[6]: _34 = const ()
+52:19-52:23: @19[9]: _54 = std::option::Option::&lt;std::string::String&gt;::None
+54:9-54:32: @21[7]: _135 = const main::promoted[2]
+54:9-54:32: @21[8]: _60 = &amp;(*_135)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:60:13: 67:14]&gt;(move _69, move _70) -&gt; [return: bb22, unwind: bb48]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _74, move _75) -&gt; [return: bb23, unwind: bb47]
+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 = std::fmt::Arguments::new_v1(move _58, move _62) -&gt; [return: bb24, unwind: bb47]
+53:5-69:7: @24.Call: _56 = std::io::_print(move _57) -&gt; [return: bb25, unwind: bb47]
+53:5-69:7: @26[6]: _55 = const ()
+71:19-71:23: @26[9]: _76 = std::option::Option::&lt;std::string::String&gt;::None
+75:9-82:6: @28[3]: _78 = &amp;_5
+73:9-73:10: @28[6]: FakeRead(ForLet, _77)
+84:9-84:32: @28[13]: _134 = const main::promoted[1]
+84:9-84:32: @28[14]: _84 = &amp;(*_134)
+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 = std::option::Option::&lt;std::string::String&gt;::unwrap_or_else::&lt;[closure@../coverage/closure.rs:75:9: 82:6]&gt;(move _93, move _94) -&gt; [return: bb29, unwind: bb45]
+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;std::string::String as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::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 = std::fmt::ArgumentV1::new::&lt;std::string::String&gt;(move _97, move _98) -&gt; [return: bb30, unwind: bb44]
+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 = std::fmt::Arguments::new_v1(move _82, move _86) -&gt; [return: bb31, unwind: bb44]
+83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -&gt; [return: bb32, unwind: bb44]
+83:5-92:7: @33[6]: _79 = const ()
+97:9-104:6: @33[10]: _100 = &amp;_5
+95:9-95:22: @33[13]: FakeRead(ForLet, _99)
+106:9-106:40: @33[20]: _133 = const main::promoted[0]
+106:9-106:40: @33[21]: _106 = &amp;(*_133)
+106:9-106:40: @33[22]: _105 = &amp;(*_106)
+106:9-106:40: @33[23]: _104 = move _105 as &amp;[&amp;str] (Pointer(Unsize))
+108:9-108:39: @33.Call: _117 = std::iter::repeat::&lt;&amp;str&gt;(const &quot;repeat me&quot;) -&gt; [return: bb34, unwind: bb55]
+108:9-109:21: @34.Call: _116 = &lt;std::iter::Repeat&lt;&amp;str&gt; as std::iter::Iterator&gt;::take(move _117, const 5_usize) -&gt; [return: bb35, unwind: bb55]
+112:13-112:26: @35[2]: _118 = _99
+108:9-113:10: @35.Call: _115 = &lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt; as std::iter::Iterator&gt;::map::&lt;std::string::String, [closure@../coverage/closure.rs:97:9: 104:6]&gt;(move _116, move _118) -&gt; [return: bb36, unwind: bb55]
+108:9-114:33: @36.Call: _114 = &lt;std::iter::Map&lt;std::iter::Take&lt;std::iter::Repeat&lt;&amp;str&gt;&gt;, [closure@../coverage/closure.rs:97:9: 104:6]&gt; as std::iter::Iterator&gt;::collect::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _115) -&gt; [return: bb37, unwind: bb55]
+108:9-114:33: @37[1]: _113 = &amp;_114
+105:5-115:7: @37[2]: _112 = (move _113,)
+105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112)
+105:5-115:7: @37[6]: _119 = (_112.0: &amp;std::vec::Vec&lt;std::string::String&gt;)
+105:5-115:7: @37[9]: _121 = &amp;(*_119)
+105:5-115:7: @37[11]: _122 = &lt;std::vec::Vec&lt;std::string::String&gt; as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::vec::Vec&lt;std::string::String&gt;, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+105:5-115:7: @37.Call: _120 = std::fmt::ArgumentV1::new::&lt;std::vec::Vec&lt;std::string::String&gt;&gt;(move _121, move _122) -&gt; [return: bb38, unwind: bb43]
+105:5-115:7: @38[2]: _111 = [move _120]
+105:5-115:7: @38[5]: _110 = &amp;_111
+105:5-115:7: @38[6]: _109 = &amp;(*_110)
+105:5-115:7: @38[7]: _108 = move _109 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -&gt; [return: bb39, unwind: bb43]
+105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -&gt; [return: bb40, unwind: bb43]
+105:5-115:7: @41[6]: _101 = const ()
+118:9-118:24: @41[13]: FakeRead(ForLet, _123)
+130:25-130:27: @41[15]: _125 = const 10_i32
+130:9-130:22: @41[16]: FakeRead(ForLet, _125)
+131:33-131:67: @41[19]: _127 = &amp;mut _125
+131:9-131:30: @41[22]: FakeRead(ForLet, _126)
+136:9-136:30: @41[25]: FakeRead(ForLet, _128)
+141:9-141:36: @41[28]: FakeRead(ForLet, _129)
+143:9-143:33: @41[31]: FakeRead(ForLet, _130)
+147:9-147:33: @41[34]: FakeRead(ForLet, _131)
+151:9-151:40: @41[37]: FakeRead(ForLet, _132)
+3:11-155:2: @41[38]: _0 = const ()
+155:2-155:2: @42.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,35,36,37,38,39,40,41,42</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html
index 184dba6abd1..0aa6fe65686 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html
@@ -87,10 +87,10 @@ For revisions in Pull Requests (PR):
 10:16-10:29: @3[6]: _5 = Gt(move _6, const 7_u32)"><span class="annotation">@3⦊</span>countdown &gt; 7<span class="annotation">⦉@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="11:9-11:23: @4[0]: _7 = CheckedSub(_1, const 4_u32)
 11:9-11:23: @6[0]: _1 = move (_7.0: u32)
-12:9-12:10: @6[1]: _4 = const B"><span class="annotation">@4,6⦊</span>countdown -= 4;</span></span>
+12:9-12:10: @6[1]: _4 = const main::B"><span class="annotation">@4,6⦊</span>countdown -= 4;</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="11:9-11:23: @4[0]: _7 = CheckedSub(_1, const 4_u32)
 11:9-11:23: @6[0]: _1 = move (_7.0: u32)
-12:9-12:10: @6[1]: _4 = const B">        B<span class="annotation">⦉@4,6</span></span></span><span class="code" style="--layer: 0"></span></span>
+12:9-12:10: @6[1]: _4 = const main::B">        B<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 if </span><span><span class="code even" style="--layer: 1" title="13:15-13:24: @5[2]: _9 = _1
 13:15-13:28: @5[3]: _8 = Gt(move _9, const 2_u32)"><span class="annotation">@5⦊</span>countdown &gt; 2<span class="annotation">⦉@5</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: @7[5]: _14 = _1
@@ -239,8 +239,8 @@ For revisions in Pull Requests (PR):
 73:9-73:29: @74[21]: _92 = &amp;(*_112)
 73:9-73:29: @74[22]: _91 = &amp;(*_92)
 73:9-73:29: @74[23]: _90 = move _91 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-73:9-73:29: @74.Call: _85 = Arguments::new_v1(move _86, move _90) -&gt; [return: bb87, unwind: bb112]
-73:9-73:29: @87.Call: _84 = _print(move _85) -&gt; [return: bb88, unwind: bb112]
+73:9-73:29: @74.Call: _85 = std::fmt::Arguments::new_v1(move _86, move _90) -&gt; [return: bb87, unwind: bb112]
+73:9-73:29: @87.Call: _84 = std::io::_print(move _85) -&gt; [return: bb88, unwind: bb112]
 73:9-73:29: @88[5]: _83 = const ()
 74:9-74:15: @88[7]: _0 = const ()"><span class="annotation">@74,87,88⦊</span>should_be_reachable = countdown;</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="72:35-72:44: @74[1]: _82 = _62
@@ -255,8 +255,8 @@ For revisions in Pull Requests (PR):
 73:9-73:29: @74[21]: _92 = &amp;(*_112)
 73:9-73:29: @74[22]: _91 = &amp;(*_92)
 73:9-73:29: @74[23]: _90 = move _91 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-73:9-73:29: @74.Call: _85 = Arguments::new_v1(move _86, move _90) -&gt; [return: bb87, unwind: bb112]
-73:9-73:29: @87.Call: _84 = _print(move _85) -&gt; [return: bb88, unwind: bb112]
+73:9-73:29: @74.Call: _85 = std::fmt::Arguments::new_v1(move _86, move _90) -&gt; [return: bb87, unwind: bb112]
+73:9-73:29: @87.Call: _84 = std::io::_print(move _85) -&gt; [return: bb88, unwind: bb112]
 73:9-73:29: @88[5]: _83 = const ()
 74:9-74:15: @88[7]: _0 = const ()">        println!("reached");</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="72:35-72:44: @74[1]: _82 = _62
@@ -271,8 +271,8 @@ For revisions in Pull Requests (PR):
 73:9-73:29: @74[21]: _92 = &amp;(*_112)
 73:9-73:29: @74[22]: _91 = &amp;(*_92)
 73:9-73:29: @74[23]: _90 = move _91 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-73:9-73:29: @74.Call: _85 = Arguments::new_v1(move _86, move _90) -&gt; [return: bb87, unwind: bb112]
-73:9-73:29: @87.Call: _84 = _print(move _85) -&gt; [return: bb88, unwind: bb112]
+73:9-73:29: @74.Call: _85 = std::fmt::Arguments::new_v1(move _86, move _90) -&gt; [return: bb87, unwind: bb112]
+73:9-73:29: @87.Call: _84 = std::io::_print(move _85) -&gt; [return: bb88, unwind: bb112]
 73:9-73:29: @88[5]: _83 = const ()
 74:9-74:15: @88[7]: _0 = const ()">        return<span class="annotation">⦉@74,87,88</span></span></span><span class="code" style="--layer: 0">;</span></span>
 <span class="line"><span class="code" style="--layer: 0">    };</span></span>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html
index 421fe27825c..be06ddd126d 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html
@@ -69,65 +69,65 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 26"><span class="line"><span><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<div class="code" style="counter-reset: line 26"><span class="line"><span><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1"><span class="annotation">@0,1,2,3⦊</span>fn main() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1">    // 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="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1">    // 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="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1">    // dependent conditions.</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1">    let is_true = std::env::args().len() == 1;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1"></span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
 33:9-33:22: @3[3]: FakeRead(ForLet, _5)
 34:8-34:15: @3[5]: _6 = _1">    let mut countdown = 0;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="31:19-31:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 31:19-31:35: @1[0]: _3 = &amp;_4
-31:19-31:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+31:19-31:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 31:9-31:16: @2[3]: FakeRead(ForLet, _1)
 33:25-33:26: @3[2]: _5 = const 0_i32
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_fn.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_fn.-------.InstrumentCoverage.0.html
index ff3493c9f62..7f2d8d3c8ec 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_fn.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_fn.-------.InstrumentCoverage.0.html
@@ -69,65 +69,65 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 14"><span class="line"><span><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<div class="code" style="counter-reset: line 14"><span class="line"><span><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1"><span class="annotation">@0,1,2,3⦊</span>fn unused_fn() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1">    // 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="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1">    // 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="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1">    // dependent conditions.</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1">    let is_true = std::env::args().len() == 1;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1"></span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
 21:9-21:22: @3[3]: FakeRead(ForLet, _5)
 22:8-22:15: @3[5]: _6 = _1">    let mut countdown = 0;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="19:19-19:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 19:19-19:35: @1[0]: _3 = &amp;_4
-19:19-19:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+19:19-19:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 19:19-19:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 19:9-19:16: @2[3]: FakeRead(ForLet, _1)
 21:25-21:26: @3[2]: _5 = const 0_i32
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_pub_fn_not_in_library.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_pub_fn_not_in_library.-------.InstrumentCoverage.0.html
index 829113e8a71..be44f71348c 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_pub_fn_not_in_library.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.unused_pub_fn_not_in_library.-------.InstrumentCoverage.0.html
@@ -69,65 +69,65 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _1"><span class="annotation">@0,1,2,3⦊</span>pub fn unused_pub_fn_not_in_library() {</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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _1">    // 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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _1">    // 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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _1">    // 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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _1">    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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 10:8-10:15: @3[5]: _6 = _1">    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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest/doctest.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest/doctest.main.-------.InstrumentCoverage.0.html
index 3566912628a..93a4004991f 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest/doctest.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest/doctest.main.-------.InstrumentCoverage.0.html
@@ -84,16 +84,16 @@ For revisions in Pull Requests (PR):
 75:9-75:26: @3[28]: _29 = (_24.0: &amp;&amp;i32)
 75:9-75:26: @3[30]: _30 = (_24.1: &amp;&amp;i32)
 75:9-75:26: @3[33]: _32 = &amp;(*_29)
-75:9-75:26: @3[35]: _33 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-75:9-75:26: @3.Call: _31 = ArgumentV1::new::&lt;&amp;i32&gt;(move _32, move _33) -&gt; [return: bb5, unwind: bb14]
+75:9-75:26: @3[35]: _33 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+75:9-75:26: @3.Call: _31 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _32, move _33) -&gt; [return: bb5, unwind: bb14]
 75:9-75:26: @5[4]: _35 = &amp;(*_30)
-75:9-75:26: @5[6]: _36 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-75:9-75:26: @5.Call: _34 = ArgumentV1::new::&lt;&amp;i32&gt;(move _35, move _36) -&gt; [return: bb6, unwind: bb14]
+75:9-75:26: @5[6]: _36 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+75:9-75:26: @5.Call: _34 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _35, move _36) -&gt; [return: bb6, unwind: bb14]
 75:9-75:26: @6[2]: _23 = [move _31, move _34]
 75:9-75:26: @6[7]: _22 = &amp;_23
 75:9-75:26: @6[8]: _21 = &amp;(*_22)
 75:9-75:26: @6[9]: _20 = move _21 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-75:9-75:26: @6.Call: _15 = Arguments::new_v1(move _16, move _20) -&gt; [return: bb7, unwind: bb14]
+75:9-75:26: @6.Call: _15 = std::fmt::Arguments::new_v1(move _16, move _20) -&gt; [return: bb7, unwind: bb14]
 75:9-75:26: @7.Call: core::panicking::panic_fmt(move _15) -&gt; bb14"><span class="annotation">@3,5,6,7⦊</span>assert_eq!(1, 1);<span class="annotation">⦉@3,5,6,7</span></span><span><span class="code odd" style="--layer: 1" title="75:9-75:26: @4[0]: _2 = const ()"><span class="annotation">⦉@4</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="77:9-77:26: @9[0]: _37 = const ()"><span class="annotation">@9⦊</span></span></span><span class="code even" style="--layer: 2" title="77:9-77:26: @8[5]: _72 = const main::promoted[0]
@@ -109,16 +109,16 @@ For revisions in Pull Requests (PR):
 77:9-77:26: @8[28]: _64 = (_59.0: &amp;&amp;i32)
 77:9-77:26: @8[30]: _65 = (_59.1: &amp;&amp;i32)
 77:9-77:26: @8[33]: _67 = &amp;(*_64)
-77:9-77:26: @8[35]: _68 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-77:9-77:26: @8.Call: _66 = ArgumentV1::new::&lt;&amp;i32&gt;(move _67, move _68) -&gt; [return: bb10, unwind: bb14]
+77:9-77:26: @8[35]: _68 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+77:9-77:26: @8.Call: _66 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _67, move _68) -&gt; [return: bb10, unwind: bb14]
 77:9-77:26: @10[4]: _70 = &amp;(*_65)
-77:9-77:26: @10[6]: _71 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-77:9-77:26: @10.Call: _69 = ArgumentV1::new::&lt;&amp;i32&gt;(move _70, move _71) -&gt; [return: bb11, unwind: bb14]
+77:9-77:26: @10[6]: _71 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+77:9-77:26: @10.Call: _69 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _70, move _71) -&gt; [return: bb11, unwind: bb14]
 77:9-77:26: @11[2]: _58 = [move _66, move _69]
 77:9-77:26: @11[7]: _57 = &amp;_58
 77:9-77:26: @11[8]: _56 = &amp;(*_57)
 77:9-77:26: @11[9]: _55 = move _56 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-77:9-77:26: @11.Call: _50 = Arguments::new_v1(move _51, move _55) -&gt; [return: bb12, unwind: bb14]
+77:9-77:26: @11.Call: _50 = std::fmt::Arguments::new_v1(move _51, move _55) -&gt; [return: bb12, unwind: bb14]
 77:9-77:26: @12.Call: core::panicking::panic_fmt(move _50) -&gt; bb14"><span class="annotation">@8,10,11,12⦊</span>assert_eq!(1, 2);<span class="annotation">⦉@8,10,11,12</span></span><span><span class="code even" style="--layer: 1" title="77:9-77:26: @9[0]: _37 = 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="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="79:2-79:2: @13.Return: return"><span class="annotation">@13⦊</span>‸<span class="annotation">⦉@13</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest_crate/doctest_crate.fn_run_in_doctests.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest_crate/doctest_crate.fn_run_in_doctests.-------.InstrumentCoverage.0.html
index 02c25cc904c..f55bb0f32d9 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest_crate/doctest_crate.fn_run_in_doctests.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.doctest_crate/doctest_crate.fn_run_in_doctests.-------.InstrumentCoverage.0.html
@@ -84,16 +84,16 @@ For revisions in Pull Requests (PR):
 4:14-4:30: @6[28]: _28 = (_23.0: &amp;&amp;i32)
 4:14-4:30: @6[30]: _29 = (_23.1: &amp;&amp;i32)
 4:14-4:30: @6[33]: _31 = &amp;(*_28)
-4:14-4:30: @6[35]: _32 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-4:14-4:30: @6.Call: _30 = ArgumentV1::new::&lt;&amp;i32&gt;(move _31, move _32) -&gt; [return: bb8, unwind: bb29]
+4:14-4:30: @6[35]: _32 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+4:14-4:30: @6.Call: _30 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _31, move _32) -&gt; [return: bb8, unwind: bb29]
 4:14-4:30: @8[4]: _34 = &amp;(*_29)
-4:14-4:30: @8[6]: _35 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-4:14-4:30: @8.Call: _33 = ArgumentV1::new::&lt;&amp;i32&gt;(move _34, move _35) -&gt; [return: bb9, unwind: bb29]
+4:14-4:30: @8[6]: _35 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+4:14-4:30: @8.Call: _33 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _34, move _35) -&gt; [return: bb9, unwind: bb29]
 4:14-4:30: @9[2]: _22 = [move _30, move _33]
 4:14-4:30: @9[7]: _21 = &amp;_22
 4:14-4:30: @9[8]: _20 = &amp;(*_21)
 4:14-4:30: @9[9]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-4:14-4:30: @9.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb10, unwind: bb29]
+4:14-4:30: @9.Call: _14 = std::fmt::Arguments::new_v1(move _15, move _19) -&gt; [return: bb10, unwind: bb29]
 4:14-4:30: @10.Call: core::panicking::panic_fmt(move _14) -&gt; bb29"><span class="annotation">@6,8,9,10⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@6,8,9,10</span></span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0">, // this is run,</span></span>
 <span class="line"><span class="code" style="--layer: 0">        2 =&gt; </span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @13[0]: _0 = const ()"><span class="annotation">@13⦊</span></span></span><span class="code even" style="--layer: 2" title="5:14-5:30: @12[5]: _141 = const fn_run_in_doctests::promoted[3]
 5:14-5:30: @12[6]: _51 = &amp;(*_141)
@@ -108,16 +108,16 @@ For revisions in Pull Requests (PR):
 5:14-5:30: @12[28]: _62 = (_57.0: &amp;&amp;i32)
 5:14-5:30: @12[30]: _63 = (_57.1: &amp;&amp;i32)
 5:14-5:30: @12[33]: _65 = &amp;(*_62)
-5:14-5:30: @12[35]: _66 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-5:14-5:30: @12.Call: _64 = ArgumentV1::new::&lt;&amp;i32&gt;(move _65, move _66) -&gt; [return: bb14, unwind: bb29]
+5:14-5:30: @12[35]: _66 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+5:14-5:30: @12.Call: _64 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _65, move _66) -&gt; [return: bb14, unwind: bb29]
 5:14-5:30: @14[4]: _68 = &amp;(*_63)
-5:14-5:30: @14[6]: _69 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-5:14-5:30: @14.Call: _67 = ArgumentV1::new::&lt;&amp;i32&gt;(move _68, move _69) -&gt; [return: bb15, unwind: bb29]
+5:14-5:30: @14[6]: _69 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+5:14-5:30: @14.Call: _67 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _68, move _69) -&gt; [return: bb15, unwind: bb29]
 5:14-5:30: @15[2]: _56 = [move _64, move _67]
 5:14-5:30: @15[7]: _55 = &amp;_56
 5:14-5:30: @15[8]: _54 = &amp;(*_55)
 5:14-5:30: @15[9]: _53 = move _54 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-5:14-5:30: @15.Call: _48 = Arguments::new_v1(move _49, move _53) -&gt; [return: bb16, unwind: bb29]
+5:14-5:30: @15.Call: _48 = std::fmt::Arguments::new_v1(move _49, move _53) -&gt; [return: bb16, unwind: bb29]
 5:14-5:30: @16.Call: core::panicking::panic_fmt(move _48) -&gt; bb29"><span class="annotation">@12,14,15,16⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@12,14,15,16</span></span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @13[0]: _0 = const ()"><span class="annotation">⦉@13</span></span></span><span class="code" style="--layer: 0">, // this,</span></span>
 <span class="line"><span class="code" style="--layer: 0">        3 =&gt; </span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @19[0]: _0 = const ()"><span class="annotation">@19⦊</span></span></span><span class="code even" style="--layer: 2" title="6:14-6:30: @18[5]: _144 = const fn_run_in_doctests::promoted[6]
 6:14-6:30: @18[6]: _85 = &amp;(*_144)
@@ -132,16 +132,16 @@ For revisions in Pull Requests (PR):
 6:14-6:30: @18[28]: _96 = (_91.0: &amp;&amp;i32)
 6:14-6:30: @18[30]: _97 = (_91.1: &amp;&amp;i32)
 6:14-6:30: @18[33]: _99 = &amp;(*_96)
-6:14-6:30: @18[35]: _100 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-6:14-6:30: @18.Call: _98 = ArgumentV1::new::&lt;&amp;i32&gt;(move _99, move _100) -&gt; [return: bb20, unwind: bb29]
+6:14-6:30: @18[35]: _100 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+6:14-6:30: @18.Call: _98 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _99, move _100) -&gt; [return: bb20, unwind: bb29]
 6:14-6:30: @20[4]: _102 = &amp;(*_97)
-6:14-6:30: @20[6]: _103 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-6:14-6:30: @20.Call: _101 = ArgumentV1::new::&lt;&amp;i32&gt;(move _102, move _103) -&gt; [return: bb21, unwind: bb29]
+6:14-6:30: @20[6]: _103 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+6:14-6:30: @20.Call: _101 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _102, move _103) -&gt; [return: bb21, unwind: bb29]
 6:14-6:30: @21[2]: _90 = [move _98, move _101]
 6:14-6:30: @21[7]: _89 = &amp;_90
 6:14-6:30: @21[8]: _88 = &amp;(*_89)
 6:14-6:30: @21[9]: _87 = move _88 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-6:14-6:30: @21.Call: _82 = Arguments::new_v1(move _83, move _87) -&gt; [return: bb22, unwind: bb29]
+6:14-6:30: @21.Call: _82 = std::fmt::Arguments::new_v1(move _83, move _87) -&gt; [return: bb22, unwind: bb29]
 6:14-6:30: @22.Call: core::panicking::panic_fmt(move _82) -&gt; bb29"><span class="annotation">@18,20,21,22⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@18,20,21,22</span></span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @19[0]: _0 = const ()"><span class="annotation">⦉@19</span></span></span><span class="code" style="--layer: 0">, // and this too</span></span>
 <span class="line"><span class="code" style="--layer: 0">        _ =&gt; </span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @24[0]: _0 = const ()"><span class="annotation">@24⦊</span></span></span><span class="code even" style="--layer: 2" title="7:14-7:30: @23[5]: _147 = const fn_run_in_doctests::promoted[9]
 7:14-7:30: @23[6]: _119 = &amp;(*_147)
@@ -156,16 +156,16 @@ For revisions in Pull Requests (PR):
 7:14-7:30: @23[28]: _130 = (_125.0: &amp;&amp;i32)
 7:14-7:30: @23[30]: _131 = (_125.1: &amp;&amp;i32)
 7:14-7:30: @23[33]: _133 = &amp;(*_130)
-7:14-7:30: @23[35]: _134 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-7:14-7:30: @23.Call: _132 = ArgumentV1::new::&lt;&amp;i32&gt;(move _133, move _134) -&gt; [return: bb25, unwind: bb29]
+7:14-7:30: @23[35]: _134 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+7:14-7:30: @23.Call: _132 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _133, move _134) -&gt; [return: bb25, unwind: bb29]
 7:14-7:30: @25[4]: _136 = &amp;(*_131)
-7:14-7:30: @25[6]: _137 = &lt;&amp;i32 as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-7:14-7:30: @25.Call: _135 = ArgumentV1::new::&lt;&amp;i32&gt;(move _136, move _137) -&gt; [return: bb26, unwind: bb29]
+7:14-7:30: @25[6]: _137 = &lt;&amp;i32 as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r &amp;i32, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+7:14-7:30: @25.Call: _135 = std::fmt::ArgumentV1::new::&lt;&amp;i32&gt;(move _136, move _137) -&gt; [return: bb26, unwind: bb29]
 7:14-7:30: @26[2]: _124 = [move _132, move _135]
 7:14-7:30: @26[7]: _123 = &amp;_124
 7:14-7:30: @26[8]: _122 = &amp;(*_123)
 7:14-7:30: @26[9]: _121 = move _122 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-7:14-7:30: @26.Call: _116 = Arguments::new_v1(move _117, move _121) -&gt; [return: bb27, unwind: bb29]
+7:14-7:30: @26.Call: _116 = std::fmt::Arguments::new_v1(move _117, move _121) -&gt; [return: bb27, unwind: bb29]
 7:14-7:30: @27.Call: core::panicking::panic_fmt(move _116) -&gt; bb29"><span class="annotation">@23,25,26,27⦊</span>assert_eq!(1, 2)<span class="annotation">⦉@23,25,26,27</span></span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @24[0]: _0 = const ()"><span class="annotation">⦉@24</span></span></span><span class="code" style="--layer: 0">, // however this is not</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="9:2-9:2: @28.Return: return"><span class="annotation">@28⦊</span>‸<span class="annotation">⦉@28</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
index 3b5d1e2cdac..66a6e776a06 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
@@ -109,8 +109,8 @@ For revisions in Pull Requests (PR):
 20:9-20:43: @1[18]: _15 = &amp;(*_20)
 20:9-20:43: @1[19]: _14 = &amp;(*_15)
 20:9-20:43: @1[20]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-20:9-20:43: @1.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb11]
-20:9-20:43: @3.Call: _7 = _print(move _8) -&gt; [return: bb4, unwind: bb11]
+20:9-20:43: @1.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb11]
+20:9-20:43: @3.Call: _7 = std::io::_print(move _8) -&gt; [return: bb4, unwind: bb11]
 20:9-20:43: @4[5]: _6 = const ()
 21:16-21:22: @4[7]: _0 = std::result::Result::&lt;(), u8&gt;::Err(const 1_u8)"><span class="annotation">@1,3,4,8,9⦊</span>println!("Exiting with error...");</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="20:18-20:41: @1[6]: _21 = const main::promoted[1]
@@ -123,8 +123,8 @@ For revisions in Pull Requests (PR):
 20:9-20:43: @1[18]: _15 = &amp;(*_20)
 20:9-20:43: @1[19]: _14 = &amp;(*_15)
 20:9-20:43: @1[20]: _13 = move _14 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-20:9-20:43: @1.Call: _8 = Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb11]
-20:9-20:43: @3.Call: _7 = _print(move _8) -&gt; [return: bb4, unwind: bb11]
+20:9-20:43: @1.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb11]
+20:9-20:43: @3.Call: _7 = std::io::_print(move _8) -&gt; [return: bb4, unwind: bb11]
 20:9-20:43: @4[5]: _6 = const ()
 21:16-21:22: @4[7]: _0 = std::result::Result::&lt;(), u8&gt;::Err(const 1_u8)">        return Err(1)<span class="annotation">⦉@1,3,4,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="code even" style="--layer: 1" title="22:6-22:6: @2[0]: _3 = const ()
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html
index b5dedeec8ac..57d56c5cf73 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.drop_trait/drop_trait.{impl#0}-drop.-------.InstrumentCoverage.0.html
@@ -69,7 +69,7 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 8"><span class="line">    <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]
+<div class="code" style="counter-reset: line 8"><span class="line">    <span><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const &lt;Firework as std::ops::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))
@@ -79,17 +79,17 @@ For revisions in Pull Requests (PR):
 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: @0.Call: _16 = std::fmt::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: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = std::io::_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>fn drop(&amp;mut self) {</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]
+<span class="line"><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const &lt;Firework as std::ops::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))
@@ -99,17 +99,17 @@ For revisions in Pull Requests (PR):
 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: @0.Call: _16 = std::fmt::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: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = std::io::_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]
+<span class="line"><span class="code even" style="--layer: 1" title="10:18-10:36: @0[6]: _19 = const &lt;Firework as std::ops::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))
@@ -119,13 +119,13 @@ For revisions in Pull Requests (PR):
 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: @0.Call: _16 = std::fmt::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: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+10:9-10:53: @2.Call: _3 = std::io::_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>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
index 0373b38e1b1..098c1404251 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
@@ -178,8 +178,8 @@ For revisions in Pull Requests (PR):
 31:9-31:43: @4[18]: _21 = &amp;(*_26)
 31:9-31:43: @4[19]: _20 = &amp;(*_21)
 31:9-31:43: @4[20]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-31:9-31:43: @4.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb6, unwind: bb14]
-31:9-31:43: @6.Call: _13 = _print(move _14) -&gt; [return: bb7, unwind: bb14]
+31:9-31:43: @4.Call: _14 = std::fmt::Arguments::new_v1(move _15, move _19) -&gt; [return: bb6, unwind: bb14]
+31:9-31:43: @6.Call: _13 = std::io::_print(move _14) -&gt; [return: bb7, unwind: bb14]
 31:9-31:43: @7[5]: _12 = const ()
 32:16-32:22: @7[7]: _0 = std::result::Result::&lt;(), u8&gt;::Err(const 1_u8)"><span class="annotation">@4,6,7,11,12⦊</span>println!("Exiting with error...");</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="31:18-31:41: @4[6]: _27 = const main::promoted[1]
@@ -192,8 +192,8 @@ For revisions in Pull Requests (PR):
 31:9-31:43: @4[18]: _21 = &amp;(*_26)
 31:9-31:43: @4[19]: _20 = &amp;(*_21)
 31:9-31:43: @4[20]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-31:9-31:43: @4.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb6, unwind: bb14]
-31:9-31:43: @6.Call: _13 = _print(move _14) -&gt; [return: bb7, unwind: bb14]
+31:9-31:43: @4.Call: _14 = std::fmt::Arguments::new_v1(move _15, move _19) -&gt; [return: bb6, unwind: bb14]
+31:9-31:43: @6.Call: _13 = std::io::_print(move _14) -&gt; [return: bb7, unwind: bb14]
 31:9-31:43: @7[5]: _12 = const ()
 32:16-32:22: @7[7]: _0 = std::result::Result::&lt;(), u8&gt;::Err(const 1_u8)">        return Err(1)<span class="annotation">⦉@4,6,7,11,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="code even" style="--layer: 1" title="33:6-33:6: @5[0]: _9 = const ()
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html
index c4e99bd679d..4908bc7b4a7 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.generics/generics.{impl#1}-drop.-------.InstrumentCoverage.0.html
@@ -69,7 +69,7 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 16"><span class="line">    <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]
+<div class="code" style="counter-reset: line 16"><span class="line">    <span><span class="code even" style="--layer: 1" title="18:18-18:36: @0[6]: _19 = const &lt;Firework&lt;T&gt; as std::ops::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))
@@ -79,17 +79,17 @@ For revisions in Pull Requests (PR):
 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: @0.Call: _16 = std::fmt::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: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = std::io::_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>fn drop(&amp;mut self) {</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]
+<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 std::ops::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))
@@ -99,17 +99,17 @@ For revisions in Pull Requests (PR):
 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: @0.Call: _16 = std::fmt::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: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = std::io::_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]
+<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 std::ops::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))
@@ -119,13 +119,13 @@ For revisions in Pull Requests (PR):
 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: @0.Call: _16 = std::fmt::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: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+18:9-18:53: @2.Call: _3 = std::io::_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>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html
index dd9ba4a190c..d6eccf57846 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if/if.main.-------.InstrumentCoverage.0.html
@@ -69,153 +69,153 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1"><span class="annotation">@0,1,2,3⦊</span>fn main() {</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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    // 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="10:9-10:25: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    // 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="10:9-10:25: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    // dependent conditions.</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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">        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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">        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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">        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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">        0</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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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)
 21:9-21:16: @3[5]: _6 = _1">    if</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: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="10:9-10:25: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 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: bb7]
+10:9-10:31: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 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
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
index b642be382cb..e0f0ac40205 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
@@ -69,73 +69,73 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb11]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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"><span class="annotation">@0,1,2,3⦊</span>fn main() {</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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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">    // 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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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">    // 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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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">    // 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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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">    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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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"></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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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">    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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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">    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: bb11]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb11]
 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: bb10]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb10]
 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
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html
index 29548fa1124..1dc5bb64e0b 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-InTrait-default_trait_func.-------.InstrumentCoverage.0.html
@@ -69,24 +69,24 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 32"><span class="line">        <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]
+<div class="code" style="counter-reset: line 32"><span class="line">        <span><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = main::in_func(const main::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]
+35:13-35:38: @1.Call: _3 = &lt;Self as main::InTrait&gt;::trait_func(move _4, const main::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>fn default_trait_func(&amp;mut self) {</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]
+<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = main::in_func(const main::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]
+35:13-35:38: @1.Call: _3 = &lt;Self as main::InTrait&gt;::trait_func(move _4, const main::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]
+<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = main::in_func(const main::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]
+35:13-35:38: @1.Call: _3 = &lt;Self as main::InTrait&gt;::trait_func(move _4, const main::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]
+<span class="line"><span class="code even" style="--layer: 1" title="34:13-34:30: @0.Call: _2 = main::in_func(const main::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]
+35:13-35:38: @1.Call: _3 = &lt;Self as main::InTrait&gt;::trait_func(move _4, const main::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>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html
index 8b5257b02bb..82724e5e865 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-in_func.-------.InstrumentCoverage.0.html
@@ -76,7 +76,7 @@ For revisions in Pull Requests (PR):
 20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)
 20:17-20:22: @1[0]: _3 = move (_6.0: u32)
 20:13-20:14: @1[3]: FakeRead(ForLet, _3)
-21:18-21:26: @1[9]: _23 = const in_func::promoted[0]
+21:18-21:26: @1[9]: _23 = const main::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))
@@ -86,13 +86,13 @@ For revisions in Pull Requests (PR):
 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: @1.Call: _20 = std::fmt::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: @2.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = std::io::_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">@0,1,2,3,4⦊</span>fn in_func(a: u32) {</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="19:17-19:18: @0[1]: _2 = const 1_u32
@@ -102,7 +102,7 @@ For revisions in Pull Requests (PR):
 20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)
 20:17-20:22: @1[0]: _3 = move (_6.0: u32)
 20:13-20:14: @1[3]: FakeRead(ForLet, _3)
-21:18-21:26: @1[9]: _23 = const in_func::promoted[0]
+21:18-21:26: @1[9]: _23 = const main::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))
@@ -112,13 +112,13 @@ For revisions in Pull Requests (PR):
 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: @1.Call: _20 = std::fmt::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: @2.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = std::io::_print(move _8) -&gt; [return: bb4, unwind: bb5]
 21:9-21:30: @4[6]: _0 = const ()
 22:6-22:6: @4.Return: return">        let b = 1;</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="19:17-19:18: @0[1]: _2 = const 1_u32
@@ -128,7 +128,7 @@ For revisions in Pull Requests (PR):
 20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)
 20:17-20:22: @1[0]: _3 = move (_6.0: u32)
 20:13-20:14: @1[3]: FakeRead(ForLet, _3)
-21:18-21:26: @1[9]: _23 = const in_func::promoted[0]
+21:18-21:26: @1[9]: _23 = const main::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))
@@ -138,13 +138,13 @@ For revisions in Pull Requests (PR):
 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: @1.Call: _20 = std::fmt::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: @2.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = std::io::_print(move _8) -&gt; [return: bb4, unwind: bb5]
 21:9-21:30: @4[6]: _0 = const ()
 22:6-22:6: @4.Return: return">        let c = a + b;</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="19:17-19:18: @0[1]: _2 = const 1_u32
@@ -154,7 +154,7 @@ For revisions in Pull Requests (PR):
 20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)
 20:17-20:22: @1[0]: _3 = move (_6.0: u32)
 20:13-20:14: @1[3]: FakeRead(ForLet, _3)
-21:18-21:26: @1[9]: _23 = const in_func::promoted[0]
+21:18-21:26: @1[9]: _23 = const main::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))
@@ -164,13 +164,13 @@ For revisions in Pull Requests (PR):
 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: @1.Call: _20 = std::fmt::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: @2.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = std::io::_print(move _8) -&gt; [return: bb4, unwind: bb5]
 21:9-21:30: @4[6]: _0 = const ()
 22:6-22:6: @4.Return: return">        println!("c = {}", c)</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="19:17-19:18: @0[1]: _2 = const 1_u32
@@ -180,7 +180,7 @@ For revisions in Pull Requests (PR):
 20:17-20:22: @0[8]: _6 = CheckedAdd(_4, _5)
 20:17-20:22: @1[0]: _3 = move (_6.0: u32)
 20:13-20:14: @1[3]: FakeRead(ForLet, _3)
-21:18-21:26: @1[9]: _23 = const in_func::promoted[0]
+21:18-21:26: @1[9]: _23 = const main::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))
@@ -190,13 +190,13 @@ For revisions in Pull Requests (PR):
 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: @1.Call: _20 = std::fmt::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: @2.Call: _8 = std::fmt::Arguments::new_v1(move _9, move _13) -&gt; [return: bb3, unwind: bb5]
+21:9-21:30: @3.Call: _7 = std::io::_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">⦉@0,1,2,3,4</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html
index ee1e0339049..b00a781a0a7 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main-{impl#0}-trait_func.-------.InstrumentCoverage.0.html
@@ -73,28 +73,28 @@ For revisions in Pull Requests (PR):
 41:13-41:41: @0[2]: _4 = CheckedAdd(((*_1).0: u32), _3)
 41:13-41:41: @1[0]: ((*_1).0: u32) = move (_4.0: u32)
 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]
+42:13-42:42: @1.Call: _5 = main::in_func(move _6) -&gt; [return: bb2, unwind: bb3]
 40:45-43:10: @2[2]: _0 = const ()
 43:10-43:10: @2.Return: return"><span class="annotation">@0,1,2⦊</span>fn trait_func(&amp;mut self, incr: u32) {</span></span>
 <span class="line"><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)
 41:13-41:41: @1[0]: ((*_1).0: u32) = move (_4.0: u32)
 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]
+42:13-42:42: @1.Call: _5 = main::in_func(move _6) -&gt; [return: bb2, unwind: bb3]
 40:45-43:10: @2[2]: _0 = const ()
 43:10-43:10: @2.Return: return">            self.in_struct_field += incr;</span></span>
 <span class="line"><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)
 41:13-41:41: @1[0]: ((*_1).0: u32) = move (_4.0: u32)
 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]
+42:13-42:42: @1.Call: _5 = main::in_func(move _6) -&gt; [return: bb2, unwind: bb3]
 40:45-43:10: @2[2]: _0 = const ()
 43:10-43:10: @2.Return: return">            in_func(self.in_struct_field);</span></span>
 <span class="line"><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)
 41:13-41:41: @1[0]: ((*_1).0: u32) = move (_4.0: u32)
 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]
+42:13-42:42: @1.Call: _5 = main::in_func(move _6) -&gt; [return: bb2, unwind: bb3]
 40:45-43:10: @2[2]: _0 = const ()
 43:10-43:10: @2.Return: return">        }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html
index d21710b7240..4a1003dfbed 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inner_items/inner_items.main.-------.InstrumentCoverage.0.html
@@ -73,33 +73,33 @@ For revisions in Pull Requests (PR):
 <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]
+<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 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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_u32
 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
 10:8-10:15: @3[6]: _7 = _1"><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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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_u32
 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
 10:8-10:15: @3[6]: _7 = _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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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_u32
 9:9-9:22: @3[3]: FakeRead(ForLet, _5)
 10:8-10:15: @3[6]: _7 = _1">    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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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_u32
@@ -146,44 +146,44 @@ For revisions in Pull Requests (PR):
 <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 odd" style="--layer: 1" title="48:8-48:15: @6[4]: _9 = _1"><span class="annotation">@6⦊</span>is_true<span class="annotation">⦉@6</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="49:17-49:26: @7[2]: _11 = _5
-49:9-49:27: @7.Call: _10 = in_func(move _11) -&gt; [return: bb9, unwind: bb13]
+49:9-49:27: @7.Call: _10 = main::in_func(move _11) -&gt; [return: bb9, unwind: bb13]
 48:16-50:6: @9[2]: _8 = const ()"><span class="annotation">@7,9⦊</span>{</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="49:17-49:26: @7[2]: _11 = _5
-49:9-49:27: @7.Call: _10 = in_func(move _11) -&gt; [return: bb9, unwind: bb13]
+49:9-49:27: @7.Call: _10 = main::in_func(move _11) -&gt; [return: bb9, unwind: bb13]
 48:16-50:6: @9[2]: _8 = const ()">        in_func(countdown);</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="49:17-49:26: @7[2]: _11 = _5
-49:9-49:27: @7.Call: _10 = in_func(move _11) -&gt; [return: bb9, unwind: bb13]
+49:9-49:27: @7.Call: _10 = main::in_func(move _11) -&gt; [return: bb9, unwind: bb13]
 48:16-50:6: @9[2]: _8 = const ()">    }<span class="annotation">⦉@7,9</span></span></span><span><span class="code odd" style="--layer: 1" title="50:6-50:6: @8[0]: _8 = const ()"><span class="annotation">@8⦊</span>‸<span class="annotation">⦉@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 </span><span><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = InStruct { in_struct_field: const 101_u32 }
+<span class="line"><span class="code" style="--layer: 0">    let </span><span><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = main::InStruct { in_struct_field: const 101_u32 }
 52:9-52:16: @10[4]: FakeRead(ForLet, _12)
 56:5-56:8: @10[7]: _14 = &amp;mut _12
-56:5-56:29: @10.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
+56:5-56:29: @10.Call: _13 = &lt;main::InStruct as main::InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
 57:2-57:2: @11.Return: return"><span class="annotation">@10,11⦊</span>mut val = InStruct {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = InStruct { in_struct_field: const 101_u32 }
+<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = main::InStruct { in_struct_field: const 101_u32 }
 52:9-52:16: @10[4]: FakeRead(ForLet, _12)
 56:5-56:8: @10[7]: _14 = &amp;mut _12
-56:5-56:29: @10.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
+56:5-56:29: @10.Call: _13 = &lt;main::InStruct as main::InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
 57:2-57:2: @11.Return: return">        in_struct_field: 101,</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = InStruct { in_struct_field: const 101_u32 }
+<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = main::InStruct { in_struct_field: const 101_u32 }
 52:9-52:16: @10[4]: FakeRead(ForLet, _12)
 56:5-56:8: @10[7]: _14 = &amp;mut _12
-56:5-56:29: @10.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
+56:5-56:29: @10.Call: _13 = &lt;main::InStruct as main::InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
 57:2-57:2: @11.Return: return">    };</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = InStruct { in_struct_field: const 101_u32 }
+<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = main::InStruct { in_struct_field: const 101_u32 }
 52:9-52:16: @10[4]: FakeRead(ForLet, _12)
 56:5-56:8: @10[7]: _14 = &amp;mut _12
-56:5-56:29: @10.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
+56:5-56:29: @10.Call: _13 = &lt;main::InStruct as main::InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
 57:2-57:2: @11.Return: return"></span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = InStruct { in_struct_field: const 101_u32 }
+<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = main::InStruct { in_struct_field: const 101_u32 }
 52:9-52:16: @10[4]: FakeRead(ForLet, _12)
 56:5-56:8: @10[7]: _14 = &amp;mut _12
-56:5-56:29: @10.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
+56:5-56:29: @10.Call: _13 = &lt;main::InStruct as main::InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
 57:2-57:2: @11.Return: return">    val.default_trait_func();</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = InStruct { in_struct_field: const 101_u32 }
+<span class="line"><span class="code even" style="--layer: 1" title="52:19-54:6: @10[3]: _12 = main::InStruct { in_struct_field: const 101_u32 }
 52:9-52:16: @10[4]: FakeRead(ForLet, _12)
 56:5-56:8: @10[7]: _14 = &amp;mut _12
-56:5-56:29: @10.Call: _13 = &lt;InStruct as InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
+56:5-56:29: @10.Call: _13 = &lt;main::InStruct as main::InTrait&gt;::default_trait_func(move _14) -&gt; [return: bb11, unwind: bb13]
 57:2-57:2: @11.Return: return">}<span class="annotation">⦉@10,11</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html
index 0cfe2119fbc..358e2e2bbba 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html
@@ -69,9 +69,9 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb36]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -79,9 +79,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _1"><span class="annotation">@0,1,2,3⦊</span>fn main() {</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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -89,9 +89,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _1">    // 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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -99,9 +99,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _1">    // 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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -109,9 +109,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _1">    // 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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -119,9 +119,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _1">    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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -129,9 +129,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
@@ -139,9 +139,9 @@ For revisions in Pull Requests (PR):
 9:17-9:22: @3[6]: _6 = (_8.1: i32)
 9:24-9:29: @3[8]: _7 = (_8.2: i32)
 10:8-10:15: @3[12]: _10 = _1">    let (mut a, mut b, mut c) = (0, 0, 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: bb36]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb36]
 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: bb35]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb35]
 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)
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html
index 54b1ea45cba..95e8f0b71ea 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html
@@ -80,14 +80,14 @@ For revisions in Pull Requests (PR):
 24:5-24:34: @0[23]: FakeRead(ForMatchedPlace, _13)
 24:5-24:34: @0[25]: _15 = (_13.0: &amp;DebugTest)
 24:5-24:34: @0[28]: _17 = &amp;(*_15)
-24:5-24:34: @0[30]: _18 = &lt;DebugTest as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-24:5-24:34: @0.Call: _16 = ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+24:5-24:34: @0[30]: _18 = &lt;DebugTest as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:5-24:34: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
 24:5-24:34: @1[2]: _12 = [move _16]
 24:5-24:34: @1[5]: _11 = &amp;_12
 24:5-24:34: @1[6]: _10 = &amp;(*_11)
 24:5-24:34: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-24:5-24:34: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
-24:5-24:34: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb4]
+24:5-24:34: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+24:5-24:34: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb4]
 24:5-24:34: @3[6]: _2 = const ()
 22:11-25:2: @3[8]: _0 = const ()
 25:2-25:2: @3.Return: return"><span class="annotation">@0,1,2,3⦊</span>fn main() {</span></span>
@@ -102,14 +102,14 @@ For revisions in Pull Requests (PR):
 24:5-24:34: @0[23]: FakeRead(ForMatchedPlace, _13)
 24:5-24:34: @0[25]: _15 = (_13.0: &amp;DebugTest)
 24:5-24:34: @0[28]: _17 = &amp;(*_15)
-24:5-24:34: @0[30]: _18 = &lt;DebugTest as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-24:5-24:34: @0.Call: _16 = ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+24:5-24:34: @0[30]: _18 = &lt;DebugTest as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:5-24:34: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
 24:5-24:34: @1[2]: _12 = [move _16]
 24:5-24:34: @1[5]: _11 = &amp;_12
 24:5-24:34: @1[6]: _10 = &amp;(*_11)
 24:5-24:34: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-24:5-24:34: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
-24:5-24:34: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb4]
+24:5-24:34: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+24:5-24:34: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb4]
 24:5-24:34: @3[6]: _2 = const ()
 22:11-25:2: @3[8]: _0 = const ()
 25:2-25:2: @3.Return: return">    let debug_test = DebugTest;</span></span>
@@ -124,14 +124,14 @@ For revisions in Pull Requests (PR):
 24:5-24:34: @0[23]: FakeRead(ForMatchedPlace, _13)
 24:5-24:34: @0[25]: _15 = (_13.0: &amp;DebugTest)
 24:5-24:34: @0[28]: _17 = &amp;(*_15)
-24:5-24:34: @0[30]: _18 = &lt;DebugTest as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-24:5-24:34: @0.Call: _16 = ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+24:5-24:34: @0[30]: _18 = &lt;DebugTest as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:5-24:34: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
 24:5-24:34: @1[2]: _12 = [move _16]
 24:5-24:34: @1[5]: _11 = &amp;_12
 24:5-24:34: @1[6]: _10 = &amp;(*_11)
 24:5-24:34: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-24:5-24:34: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
-24:5-24:34: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb4]
+24:5-24:34: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+24:5-24:34: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb4]
 24:5-24:34: @3[6]: _2 = const ()
 22:11-25:2: @3[8]: _0 = const ()
 25:2-25:2: @3.Return: return">    println!("{:?}", debug_test);</span></span>
@@ -146,14 +146,14 @@ For revisions in Pull Requests (PR):
 24:5-24:34: @0[23]: FakeRead(ForMatchedPlace, _13)
 24:5-24:34: @0[25]: _15 = (_13.0: &amp;DebugTest)
 24:5-24:34: @0[28]: _17 = &amp;(*_15)
-24:5-24:34: @0[30]: _18 = &lt;DebugTest as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-24:5-24:34: @0.Call: _16 = ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
+24:5-24:34: @0[30]: _18 = &lt;DebugTest as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r DebugTest, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+24:5-24:34: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;DebugTest&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb4]
 24:5-24:34: @1[2]: _12 = [move _16]
 24:5-24:34: @1[5]: _11 = &amp;_12
 24:5-24:34: @1[6]: _10 = &amp;(*_11)
 24:5-24:34: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-24:5-24:34: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
-24:5-24:34: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb4]
+24:5-24:34: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb4]
+24:5-24:34: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb4]
 24:5-24:34: @3[6]: _2 = const ()
 22:11-25:2: @3[8]: _0 = const ()
 25:2-25:2: @3.Return: return">}<span class="annotation">⦉@0,1,2,3</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.{impl#0}-fmt.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.{impl#0}-fmt.-------.InstrumentCoverage.0.html
index b3f344f7fc0..f6f08b6a770 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.{impl#0}-fmt.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.{impl#0}-fmt.-------.InstrumentCoverage.0.html
@@ -77,20 +77,20 @@ For revisions in Pull Requests (PR):
 <span class="line"><span class="code odd" style="--layer: 1" title="12:28-13:18: @8[0]: _7 = const ()">                }<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="code even" style="--layer: 1" title="14:14-14:14: @3[0]: _5 = const ()"><span class="annotation">@3⦊</span>‸<span class="annotation">⦉@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="15:20-15:21: @9[6]: _13 = &amp;mut (*_2)
-15:23-15:30: @9[11]: _32 = const &lt;DebugTest as Debug&gt;::fmt::promoted[1]
+15:23-15:30: @9[11]: _32 = const &lt;DebugTest as std::fmt::Debug&gt;::fmt::promoted[1]
 15:23-15:30: @9[12]: _17 = &amp;(*_32)
 15:23-15:30: @9[13]: _16 = &amp;(*_17)
 15:23-15:30: @9[14]: _15 = move _16 as &amp;[&amp;str] (Pointer(Unsize))
 15:13-15:31: @9[20]: _23 = ()
 15:13-15:31: @9[21]: FakeRead(ForMatchedPlace, _23)
-15:13-15:31: @9[22]: _31 = const &lt;DebugTest as Debug&gt;::fmt::promoted[0]
+15:13-15:31: @9[22]: _31 = const &lt;DebugTest as std::fmt::Debug&gt;::fmt::promoted[0]
 15:13-15:31: @9[23]: _21 = &amp;(*_31)
 15:13-15:31: @9[24]: _20 = &amp;(*_21)
 15:13-15:31: @9[25]: _19 = move _20 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-15:13-15:31: @9.Call: _14 = Arguments::new_v1(move _15, move _19) -&gt; [return: bb10, unwind: bb21]
-15:13-15:31: @10.Call: _12 = Formatter::write_fmt(move _13, move _14) -&gt; [return: bb11, unwind: bb21]"><span class="annotation">@9,10,11,12⦊</span>write!(f, "error")<span class="annotation">⦉@9,10,11,12</span></span></span><span><span class="code even" style="--layer: 1" title="15:31-15:32: @16[1]: _25 = ((_11 as Err).0: std::fmt::Error)
+15:13-15:31: @9.Call: _14 = std::fmt::Arguments::new_v1(move _15, move _19) -&gt; [return: bb10, unwind: bb21]
+15:13-15:31: @10.Call: _12 = std::fmt::Formatter::write_fmt(move _13, move _14) -&gt; [return: bb11, unwind: bb21]"><span class="annotation">@9,10,11,12⦊</span>write!(f, "error")<span class="annotation">⦉@9,10,11,12</span></span></span><span><span class="code even" style="--layer: 1" title="15:31-15:32: @16[1]: _25 = ((_11 as Err).0: std::fmt::Error)
 15:31-15:32: @16[4]: _28 = _25
-15:31-15:32: @16.Call: _27 = &lt;std::fmt::Error as From&lt;std::fmt::Error&gt;&gt;::from(move _28) -&gt; [return: bb17, unwind: bb21]"><span class="annotation">@14,16,17,18⦊</span>?<span class="annotation">⦉@14,16,17,18</span></span></span><span class="code" style="--layer: 0">;</span></span>
+15:31-15:32: @16.Call: _27 = &lt;std::fmt::Error as std::convert::From&lt;std::fmt::Error&gt;&gt;::from(move _28) -&gt; [return: bb17, unwind: bb21]"><span class="annotation">@14,16,17,18⦊</span>?<span class="annotation">⦉@14,16,17,18</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="code odd" style="--layer: 1" title="16:16-17:10: @2[0]: _3 = const ()"><span class="annotation">@2⦊</span>{</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="16:16-17:10: @2[0]: _3 = const ()">        }<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="code even" style="--layer: 1" title="18:12-18:14: @19[3]: _30 = ()
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.match_or_pattern/match_or_pattern.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.match_or_pattern/match_or_pattern.main.-------.InstrumentCoverage.0.html
index c7992614b5b..013c292ce9a 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.match_or_pattern/match_or_pattern.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.match_or_pattern/match_or_pattern.main.-------.InstrumentCoverage.0.html
@@ -69,9 +69,9 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb37]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -81,9 +81,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1"><span class="annotation">@0,1,2,3⦊</span>fn main() {</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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -93,9 +93,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1">    // 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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -105,9 +105,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1">    // 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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -117,9 +117,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1">    // 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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -129,9 +129,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1">    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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -141,9 +141,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -153,9 +153,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1">    let mut a: u8 = 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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
@@ -165,9 +165,9 @@ For revisions in Pull Requests (PR):
 10:9-10:14: @3[7]: FakeRead(ForLet, _6)
 10:16-10:18: @3[8]: AscribeUserType(_6, o, UserTypeProjection { base: UserType(3), projs: [] })
 11:8-11:15: @3[11]: _8 = _1">    let mut b: u8 = 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: bb37]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb37]
 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: bb36]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb36]
 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 7:9-7:16: @2[3]: FakeRead(ForLet, _1)
 9:21-9:22: @3[2]: _5 = const 0_u8
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html
index 4dcf6c741dc..1abc24156d9 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html
@@ -69,23 +69,23 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 0"><span class="line"><span><span class="code even" style="--layer: 1" title="2:19-2:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb32]
+<div class="code" style="counter-reset: line 0"><span class="line"><span><span class="code even" style="--layer: 1" title="2:19-2:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb32]
 2:19-2:35: @1[0]: _3 = &amp;_4
-2:19-2:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb31]
+2:19-2:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb31]
 2:19-2:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 2:9-2:16: @2[3]: FakeRead(ForLet, _1)
 3:25-3:27: @3[2]: _5 = const 10_i32
 3:9-3:22: @3[3]: FakeRead(ForLet, _5)"><span class="annotation">@0,1,2,3⦊</span>fn main() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="2:19-2:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb32]
+<span class="line"><span class="code even" style="--layer: 1" title="2:19-2:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb32]
 2:19-2:35: @1[0]: _3 = &amp;_4
-2:19-2:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb31]
+2:19-2:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb31]
 2:19-2:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 2:9-2:16: @2[3]: FakeRead(ForLet, _1)
 3:25-3:27: @3[2]: _5 = const 10_i32
 3:9-3:22: @3[3]: FakeRead(ForLet, _5)">    let is_true = std::env::args().len() == 1;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="2:19-2:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb32]
+<span class="line"><span class="code even" style="--layer: 1" title="2:19-2:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb32]
 2:19-2:35: @1[0]: _3 = &amp;_4
-2:19-2:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb31]
+2:19-2:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb31]
 2:19-2:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 2:9-2:16: @2[3]: FakeRead(ForLet, _1)
 3:25-3:27: @3[2]: _5 = const 10_i32
@@ -107,7 +107,7 @@ For revisions in Pull Requests (PR):
 8:13-8:14: @16[4]: _15 = move _22
 8:13-8:14: @16[5]: _16 = const ()"><span class="annotation">@14,16⦊</span>_<span class="annotation">⦉@14,16</span></span></span><span class="code" style="--layer: 0"> in </span><span><span class="code even" style="--layer: 1" title="8:18-8:23: @11[5]: _19 = &amp;mut _14
 8:18-8:23: @11[6]: _18 = &amp;mut (*_19)
-8:18-8:23: @11.Call: _17 = &lt;std::ops::Range&lt;i32&gt; as Iterator&gt;::next(move _18) -&gt; [return: bb12, unwind: bb32]
+8:18-8:23: @11.Call: _17 = &lt;std::ops::Range&lt;i32&gt; as std::iter::Iterator&gt;::next(move _18) -&gt; [return: bb12, unwind: bb32]
 8:18-8:23: @12[1]: FakeRead(ForMatchedPlace, _17)"><span class="annotation">@10,11,12⦊</span>0..50<span class="annotation">⦉@10,11,12</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="9:16-9:17: @16[15]: _27 = _9
 9:16-9:22: @16[16]: _26 = Lt(move _27, const 30_i32)"><span class="annotation">@14,16⦊</span>a &lt; 30<span class="annotation">⦉@14,16</span></span></span><span class="code" style="--layer: 0"> {</span></span>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html
index ca3515689d3..2a9b1b10efc 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html
@@ -89,13 +89,13 @@ For revisions in Pull Requests (PR):
 20:13-20:44: @8[23]: _23 = (_21.0: &amp;u32)
 20:13-20:44: @8[26]: _25 = &amp;(*_23)
 20:13-20:44: @8[28]: _26 = &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))
-20:13-20:44: @8.Call: _24 = ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
+20:13-20:44: @8.Call: _24 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
 20:13-20:44: @9[2]: _20 = [move _24]
 20:13-20:44: @9[5]: _19 = &amp;_20
 20:13-20:44: @9[6]: _18 = &amp;(*_19)
 20:13-20:44: @9[7]: _17 = move _18 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-20:13-20:44: @9.Call: _12 = Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
-20:13-20:44: @10.Call: _11 = _print(move _12) -&gt; [return: bb11, unwind: bb21]
+20:13-20:44: @9.Call: _12 = std::fmt::Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
+20:13-20:44: @10.Call: _11 = std::io::_print(move _12) -&gt; [return: bb11, unwind: bb21]
 20:13-20:44: @11[6]: _10 = const ()
 18:27-21:10: @11[8]: _6 = const ()"><span class="annotation">@6,8,9,10,11⦊</span>{</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="19:26-19:44: @6.Call: _9 = might_overflow(const 10_u32) -&gt; [return: bb8, unwind: bb21]
@@ -110,13 +110,13 @@ For revisions in Pull Requests (PR):
 20:13-20:44: @8[23]: _23 = (_21.0: &amp;u32)
 20:13-20:44: @8[26]: _25 = &amp;(*_23)
 20:13-20:44: @8[28]: _26 = &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))
-20:13-20:44: @8.Call: _24 = ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
+20:13-20:44: @8.Call: _24 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
 20:13-20:44: @9[2]: _20 = [move _24]
 20:13-20:44: @9[5]: _19 = &amp;_20
 20:13-20:44: @9[6]: _18 = &amp;(*_19)
 20:13-20:44: @9[7]: _17 = move _18 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-20:13-20:44: @9.Call: _12 = Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
-20:13-20:44: @10.Call: _11 = _print(move _12) -&gt; [return: bb11, unwind: bb21]
+20:13-20:44: @9.Call: _12 = std::fmt::Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
+20:13-20:44: @10.Call: _11 = std::io::_print(move _12) -&gt; [return: bb11, unwind: bb21]
 20:13-20:44: @11[6]: _10 = const ()
 18:27-21:10: @11[8]: _6 = const ()">            let result = might_overflow(10);</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="19:26-19:44: @6.Call: _9 = might_overflow(const 10_u32) -&gt; [return: bb8, unwind: bb21]
@@ -131,13 +131,13 @@ For revisions in Pull Requests (PR):
 20:13-20:44: @8[23]: _23 = (_21.0: &amp;u32)
 20:13-20:44: @8[26]: _25 = &amp;(*_23)
 20:13-20:44: @8[28]: _26 = &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))
-20:13-20:44: @8.Call: _24 = ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
+20:13-20:44: @8.Call: _24 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
 20:13-20:44: @9[2]: _20 = [move _24]
 20:13-20:44: @9[5]: _19 = &amp;_20
 20:13-20:44: @9[6]: _18 = &amp;(*_19)
 20:13-20:44: @9[7]: _17 = move _18 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-20:13-20:44: @9.Call: _12 = Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
-20:13-20:44: @10.Call: _11 = _print(move _12) -&gt; [return: bb11, unwind: bb21]
+20:13-20:44: @9.Call: _12 = std::fmt::Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
+20:13-20:44: @10.Call: _11 = std::io::_print(move _12) -&gt; [return: bb11, unwind: bb21]
 20:13-20:44: @11[6]: _10 = const ()
 18:27-21:10: @11[8]: _6 = const ()">            println!("Result: {}", result);</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="19:26-19:44: @6.Call: _9 = might_overflow(const 10_u32) -&gt; [return: bb8, unwind: bb21]
@@ -152,13 +152,13 @@ For revisions in Pull Requests (PR):
 20:13-20:44: @8[23]: _23 = (_21.0: &amp;u32)
 20:13-20:44: @8[26]: _25 = &amp;(*_23)
 20:13-20:44: @8[28]: _26 = &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))
-20:13-20:44: @8.Call: _24 = ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
+20:13-20:44: @8.Call: _24 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _25, move _26) -&gt; [return: bb9, unwind: bb21]
 20:13-20:44: @9[2]: _20 = [move _24]
 20:13-20:44: @9[5]: _19 = &amp;_20
 20:13-20:44: @9[6]: _18 = &amp;(*_19)
 20:13-20:44: @9[7]: _17 = move _18 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-20:13-20:44: @9.Call: _12 = Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
-20:13-20:44: @10.Call: _11 = _print(move _12) -&gt; [return: bb11, unwind: bb21]
+20:13-20:44: @9.Call: _12 = std::fmt::Arguments::new_v1(move _13, move _17) -&gt; [return: bb10, unwind: bb21]
+20:13-20:44: @10.Call: _11 = std::io::_print(move _12) -&gt; [return: bb11, unwind: bb21]
 20:13-20:44: @11[6]: _10 = const ()
 18:27-21:10: @11[8]: _6 = const ()">        }<span class="annotation">⦉@6,8,9,10,11</span></span></span><span class="code" style="--layer: 0"> else if </span><span><span class="code even" style="--layer: 1" title="21:19-21:28: @7[2]: _28 = _1
 21:19-21:32: @7[3]: _27 = Lt(move _28, const 5_i32)"><span class="annotation">@7⦊</span>countdown &lt; 5<span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="22:26-22:43: @12.Call: _29 = might_overflow(const 1_u32) -&gt; [return: bb14, unwind: bb21]
@@ -173,13 +173,13 @@ For revisions in Pull Requests (PR):
 23:13-23:44: @14[23]: _43 = (_41.0: &amp;u32)
 23:13-23:44: @14[26]: _45 = &amp;(*_43)
 23:13-23:44: @14[28]: _46 = &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))
-23:13-23:44: @14.Call: _44 = ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
+23:13-23:44: @14.Call: _44 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
 23:13-23:44: @15[2]: _40 = [move _44]
 23:13-23:44: @15[5]: _39 = &amp;_40
 23:13-23:44: @15[6]: _38 = &amp;(*_39)
 23:13-23:44: @15[7]: _37 = move _38 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-23:13-23:44: @15.Call: _32 = Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
-23:13-23:44: @16.Call: _31 = _print(move _32) -&gt; [return: bb17, unwind: bb21]
+23:13-23:44: @15.Call: _32 = std::fmt::Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
+23:13-23:44: @16.Call: _31 = std::io::_print(move _32) -&gt; [return: bb17, unwind: bb21]
 23:13-23:44: @17[6]: _30 = const ()
 21:33-24:10: @17[8]: _6 = const ()"><span class="annotation">@12,14,15,16,17⦊</span>{</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="22:26-22:43: @12.Call: _29 = might_overflow(const 1_u32) -&gt; [return: bb14, unwind: bb21]
@@ -194,13 +194,13 @@ For revisions in Pull Requests (PR):
 23:13-23:44: @14[23]: _43 = (_41.0: &amp;u32)
 23:13-23:44: @14[26]: _45 = &amp;(*_43)
 23:13-23:44: @14[28]: _46 = &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))
-23:13-23:44: @14.Call: _44 = ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
+23:13-23:44: @14.Call: _44 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
 23:13-23:44: @15[2]: _40 = [move _44]
 23:13-23:44: @15[5]: _39 = &amp;_40
 23:13-23:44: @15[6]: _38 = &amp;(*_39)
 23:13-23:44: @15[7]: _37 = move _38 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-23:13-23:44: @15.Call: _32 = Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
-23:13-23:44: @16.Call: _31 = _print(move _32) -&gt; [return: bb17, unwind: bb21]
+23:13-23:44: @15.Call: _32 = std::fmt::Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
+23:13-23:44: @16.Call: _31 = std::io::_print(move _32) -&gt; [return: bb17, unwind: bb21]
 23:13-23:44: @17[6]: _30 = const ()
 21:33-24:10: @17[8]: _6 = const ()">            let result = might_overflow(1);</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="22:26-22:43: @12.Call: _29 = might_overflow(const 1_u32) -&gt; [return: bb14, unwind: bb21]
@@ -215,13 +215,13 @@ For revisions in Pull Requests (PR):
 23:13-23:44: @14[23]: _43 = (_41.0: &amp;u32)
 23:13-23:44: @14[26]: _45 = &amp;(*_43)
 23:13-23:44: @14[28]: _46 = &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))
-23:13-23:44: @14.Call: _44 = ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
+23:13-23:44: @14.Call: _44 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
 23:13-23:44: @15[2]: _40 = [move _44]
 23:13-23:44: @15[5]: _39 = &amp;_40
 23:13-23:44: @15[6]: _38 = &amp;(*_39)
 23:13-23:44: @15[7]: _37 = move _38 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-23:13-23:44: @15.Call: _32 = Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
-23:13-23:44: @16.Call: _31 = _print(move _32) -&gt; [return: bb17, unwind: bb21]
+23:13-23:44: @15.Call: _32 = std::fmt::Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
+23:13-23:44: @16.Call: _31 = std::io::_print(move _32) -&gt; [return: bb17, unwind: bb21]
 23:13-23:44: @17[6]: _30 = const ()
 21:33-24:10: @17[8]: _6 = const ()">            println!("Result: {}", result);</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="22:26-22:43: @12.Call: _29 = might_overflow(const 1_u32) -&gt; [return: bb14, unwind: bb21]
@@ -236,13 +236,13 @@ For revisions in Pull Requests (PR):
 23:13-23:44: @14[23]: _43 = (_41.0: &amp;u32)
 23:13-23:44: @14[26]: _45 = &amp;(*_43)
 23:13-23:44: @14[28]: _46 = &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))
-23:13-23:44: @14.Call: _44 = ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
+23:13-23:44: @14.Call: _44 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _45, move _46) -&gt; [return: bb15, unwind: bb21]
 23:13-23:44: @15[2]: _40 = [move _44]
 23:13-23:44: @15[5]: _39 = &amp;_40
 23:13-23:44: @15[6]: _38 = &amp;(*_39)
 23:13-23:44: @15[7]: _37 = move _38 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-23:13-23:44: @15.Call: _32 = Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
-23:13-23:44: @16.Call: _31 = _print(move _32) -&gt; [return: bb17, unwind: bb21]
+23:13-23:44: @15.Call: _32 = std::fmt::Arguments::new_v1(move _33, move _37) -&gt; [return: bb16, unwind: bb21]
+23:13-23:44: @16.Call: _31 = std::io::_print(move _32) -&gt; [return: bb17, unwind: bb21]
 23:13-23:44: @17[6]: _30 = const ()
 21:33-24:10: @17[8]: _6 = const ()">        }<span class="annotation">⦉@12,14,15,16,17</span></span></span><span><span class="code even" style="--layer: 1" title="24:10-24:10: @13[0]: _6 = const ()"><span class="annotation">@13⦊</span>‸<span class="annotation">⦉@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="code odd" style="--layer: 1" title="25:9-25:23: @19[2]: _47 = CheckedSub(_1, const 1_i32)
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.might_overflow.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.might_overflow.-------.InstrumentCoverage.0.html
index f86cc4b2d2a..c6043f0bd07 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.might_overflow.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.might_overflow.-------.InstrumentCoverage.0.html
@@ -82,8 +82,8 @@ For revisions in Pull Requests (PR):
 6:9-6:49: @1[18]: _14 = &amp;(*_60)
 6:9-6:49: @1[19]: _13 = &amp;(*_14)
 6:9-6:49: @1[20]: _12 = move _13 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-6:9-6:49: @1.Call: _7 = Arguments::new_v1(move _8, move _12) -&gt; [return: bb3, unwind: bb14]
-6:9-6:49: @3.Call: _6 = _print(move _7) -&gt; [return: bb4, unwind: bb14]
+6:9-6:49: @1.Call: _7 = std::fmt::Arguments::new_v1(move _8, move _12) -&gt; [return: bb3, unwind: bb14]
+6:9-6:49: @3.Call: _6 = std::io::_print(move _7) -&gt; [return: bb4, unwind: bb14]
 6:9-6:49: @4[5]: _5 = const ()
 5:19-7:6: @4[7]: _2 = const ()"><span class="annotation">@1,3,4⦊</span>{</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="6:18-6:47: @1[6]: _61 = const might_overflow::promoted[4]
@@ -96,8 +96,8 @@ For revisions in Pull Requests (PR):
 6:9-6:49: @1[18]: _14 = &amp;(*_60)
 6:9-6:49: @1[19]: _13 = &amp;(*_14)
 6:9-6:49: @1[20]: _12 = move _13 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-6:9-6:49: @1.Call: _7 = Arguments::new_v1(move _8, move _12) -&gt; [return: bb3, unwind: bb14]
-6:9-6:49: @3.Call: _6 = _print(move _7) -&gt; [return: bb4, unwind: bb14]
+6:9-6:49: @1.Call: _7 = std::fmt::Arguments::new_v1(move _8, move _12) -&gt; [return: bb3, unwind: bb14]
+6:9-6:49: @3.Call: _6 = std::io::_print(move _7) -&gt; [return: bb4, unwind: bb14]
 6:9-6:49: @4[5]: _5 = const ()
 5:19-7:6: @4[7]: _2 = const ()">        println!("this will probably overflow");</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="6:18-6:47: @1[6]: _61 = const might_overflow::promoted[4]
@@ -110,8 +110,8 @@ For revisions in Pull Requests (PR):
 6:9-6:49: @1[18]: _14 = &amp;(*_60)
 6:9-6:49: @1[19]: _13 = &amp;(*_14)
 6:9-6:49: @1[20]: _12 = move _13 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-6:9-6:49: @1.Call: _7 = Arguments::new_v1(move _8, move _12) -&gt; [return: bb3, unwind: bb14]
-6:9-6:49: @3.Call: _6 = _print(move _7) -&gt; [return: bb4, unwind: bb14]
+6:9-6:49: @1.Call: _7 = std::fmt::Arguments::new_v1(move _8, move _12) -&gt; [return: bb3, unwind: bb14]
+6:9-6:49: @3.Call: _6 = std::io::_print(move _7) -&gt; [return: bb4, unwind: bb14]
 6:9-6:49: @4[5]: _5 = const ()
 5:19-7:6: @4[7]: _2 = const ()">    }<span class="annotation">⦉@1,3,4</span></span></span><span><span class="code even" style="--layer: 1" title="7:6-7:6: @2[0]: _2 = const ()"><span class="annotation">@2⦊</span>‸<span class="annotation">⦉@2</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="8:18-8:30: @5[3]: _18 = CheckedSub(const core::num::&lt;impl u32&gt;::MAX, const 5_u32)
@@ -129,16 +129,16 @@ For revisions in Pull Requests (PR):
 9:5-9:56: @6[29]: _34 = (_30.1: &amp;u32)
 9:5-9:56: @6[32]: _36 = &amp;(*_33)
 9:5-9:56: @6[34]: _37 = &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))
-9:5-9:56: @6.Call: _35 = ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
+9:5-9:56: @6.Call: _35 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
 9:5-9:56: @7[4]: _39 = &amp;(*_34)
 9:5-9:56: @7[6]: _40 = &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))
-9:5-9:56: @7.Call: _38 = ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
+9:5-9:56: @7.Call: _38 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
 9:5-9:56: @8[2]: _29 = [move _35, move _38]
 9:5-9:56: @8[7]: _28 = &amp;_29
 9:5-9:56: @8[8]: _27 = &amp;(*_28)
 9:5-9:56: @8[9]: _26 = move _27 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:5-9:56: @8.Call: _21 = Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
-9:5-9:56: @9.Call: _20 = _print(move _21) -&gt; [return: bb10, unwind: bb14]
+9:5-9:56: @8.Call: _21 = std::fmt::Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
+9:5-9:56: @9.Call: _20 = std::io::_print(move _21) -&gt; [return: bb10, unwind: bb14]
 9:5-9:56: @10[6]: _19 = const ()
 10:18-10:24: @10[10]: _42 = _1
 10:27-10:33: @10[12]: _43 = _17
@@ -155,8 +155,8 @@ For revisions in Pull Requests (PR):
 11:5-11:49: @11[22]: _54 = &amp;(*_57)
 11:5-11:49: @11[23]: _53 = &amp;(*_54)
 11:5-11:49: @11[24]: _52 = move _53 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-11:49: @11.Call: _47 = Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
-11:5-11:49: @12.Call: _46 = _print(move _47) -&gt; [return: bb13, unwind: bb14]
+11:5-11:49: @11.Call: _47 = std::fmt::Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
+11:5-11:49: @12.Call: _46 = std::io::_print(move _47) -&gt; [return: bb13, unwind: bb14]
 11:5-11:49: @13[5]: _45 = const ()
 12:5-12:11: @13[7]: _0 = _41
 13:2-13:2: @13.Return: return"><span class="annotation">@5,6,7,8,9,10,11,12,13⦊</span>add_to = u32::MAX - 5;</span></span>
@@ -175,16 +175,16 @@ For revisions in Pull Requests (PR):
 9:5-9:56: @6[29]: _34 = (_30.1: &amp;u32)
 9:5-9:56: @6[32]: _36 = &amp;(*_33)
 9:5-9:56: @6[34]: _37 = &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))
-9:5-9:56: @6.Call: _35 = ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
+9:5-9:56: @6.Call: _35 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
 9:5-9:56: @7[4]: _39 = &amp;(*_34)
 9:5-9:56: @7[6]: _40 = &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))
-9:5-9:56: @7.Call: _38 = ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
+9:5-9:56: @7.Call: _38 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
 9:5-9:56: @8[2]: _29 = [move _35, move _38]
 9:5-9:56: @8[7]: _28 = &amp;_29
 9:5-9:56: @8[8]: _27 = &amp;(*_28)
 9:5-9:56: @8[9]: _26 = move _27 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:5-9:56: @8.Call: _21 = Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
-9:5-9:56: @9.Call: _20 = _print(move _21) -&gt; [return: bb10, unwind: bb14]
+9:5-9:56: @8.Call: _21 = std::fmt::Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
+9:5-9:56: @9.Call: _20 = std::io::_print(move _21) -&gt; [return: bb10, unwind: bb14]
 9:5-9:56: @10[6]: _19 = const ()
 10:18-10:24: @10[10]: _42 = _1
 10:27-10:33: @10[12]: _43 = _17
@@ -201,8 +201,8 @@ For revisions in Pull Requests (PR):
 11:5-11:49: @11[22]: _54 = &amp;(*_57)
 11:5-11:49: @11[23]: _53 = &amp;(*_54)
 11:5-11:49: @11[24]: _52 = move _53 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-11:49: @11.Call: _47 = Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
-11:5-11:49: @12.Call: _46 = _print(move _47) -&gt; [return: bb13, unwind: bb14]
+11:5-11:49: @11.Call: _47 = std::fmt::Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
+11:5-11:49: @12.Call: _46 = std::io::_print(move _47) -&gt; [return: bb13, unwind: bb14]
 11:5-11:49: @13[5]: _45 = const ()
 12:5-12:11: @13[7]: _0 = _41
 13:2-13:2: @13.Return: return">    println!("does {} + {} overflow?", add_to, to_add);</span></span>
@@ -221,16 +221,16 @@ For revisions in Pull Requests (PR):
 9:5-9:56: @6[29]: _34 = (_30.1: &amp;u32)
 9:5-9:56: @6[32]: _36 = &amp;(*_33)
 9:5-9:56: @6[34]: _37 = &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))
-9:5-9:56: @6.Call: _35 = ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
+9:5-9:56: @6.Call: _35 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
 9:5-9:56: @7[4]: _39 = &amp;(*_34)
 9:5-9:56: @7[6]: _40 = &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))
-9:5-9:56: @7.Call: _38 = ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
+9:5-9:56: @7.Call: _38 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
 9:5-9:56: @8[2]: _29 = [move _35, move _38]
 9:5-9:56: @8[7]: _28 = &amp;_29
 9:5-9:56: @8[8]: _27 = &amp;(*_28)
 9:5-9:56: @8[9]: _26 = move _27 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:5-9:56: @8.Call: _21 = Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
-9:5-9:56: @9.Call: _20 = _print(move _21) -&gt; [return: bb10, unwind: bb14]
+9:5-9:56: @8.Call: _21 = std::fmt::Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
+9:5-9:56: @9.Call: _20 = std::io::_print(move _21) -&gt; [return: bb10, unwind: bb14]
 9:5-9:56: @10[6]: _19 = const ()
 10:18-10:24: @10[10]: _42 = _1
 10:27-10:33: @10[12]: _43 = _17
@@ -247,8 +247,8 @@ For revisions in Pull Requests (PR):
 11:5-11:49: @11[22]: _54 = &amp;(*_57)
 11:5-11:49: @11[23]: _53 = &amp;(*_54)
 11:5-11:49: @11[24]: _52 = move _53 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-11:49: @11.Call: _47 = Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
-11:5-11:49: @12.Call: _46 = _print(move _47) -&gt; [return: bb13, unwind: bb14]
+11:5-11:49: @11.Call: _47 = std::fmt::Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
+11:5-11:49: @12.Call: _46 = std::io::_print(move _47) -&gt; [return: bb13, unwind: bb14]
 11:5-11:49: @13[5]: _45 = const ()
 12:5-12:11: @13[7]: _0 = _41
 13:2-13:2: @13.Return: return">    let result = to_add + add_to;</span></span>
@@ -267,16 +267,16 @@ For revisions in Pull Requests (PR):
 9:5-9:56: @6[29]: _34 = (_30.1: &amp;u32)
 9:5-9:56: @6[32]: _36 = &amp;(*_33)
 9:5-9:56: @6[34]: _37 = &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))
-9:5-9:56: @6.Call: _35 = ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
+9:5-9:56: @6.Call: _35 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
 9:5-9:56: @7[4]: _39 = &amp;(*_34)
 9:5-9:56: @7[6]: _40 = &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))
-9:5-9:56: @7.Call: _38 = ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
+9:5-9:56: @7.Call: _38 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
 9:5-9:56: @8[2]: _29 = [move _35, move _38]
 9:5-9:56: @8[7]: _28 = &amp;_29
 9:5-9:56: @8[8]: _27 = &amp;(*_28)
 9:5-9:56: @8[9]: _26 = move _27 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:5-9:56: @8.Call: _21 = Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
-9:5-9:56: @9.Call: _20 = _print(move _21) -&gt; [return: bb10, unwind: bb14]
+9:5-9:56: @8.Call: _21 = std::fmt::Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
+9:5-9:56: @9.Call: _20 = std::io::_print(move _21) -&gt; [return: bb10, unwind: bb14]
 9:5-9:56: @10[6]: _19 = const ()
 10:18-10:24: @10[10]: _42 = _1
 10:27-10:33: @10[12]: _43 = _17
@@ -293,8 +293,8 @@ For revisions in Pull Requests (PR):
 11:5-11:49: @11[22]: _54 = &amp;(*_57)
 11:5-11:49: @11[23]: _53 = &amp;(*_54)
 11:5-11:49: @11[24]: _52 = move _53 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-11:49: @11.Call: _47 = Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
-11:5-11:49: @12.Call: _46 = _print(move _47) -&gt; [return: bb13, unwind: bb14]
+11:5-11:49: @11.Call: _47 = std::fmt::Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
+11:5-11:49: @12.Call: _46 = std::io::_print(move _47) -&gt; [return: bb13, unwind: bb14]
 11:5-11:49: @13[5]: _45 = const ()
 12:5-12:11: @13[7]: _0 = _41
 13:2-13:2: @13.Return: return">    println!("continuing after overflow check");</span></span>
@@ -313,16 +313,16 @@ For revisions in Pull Requests (PR):
 9:5-9:56: @6[29]: _34 = (_30.1: &amp;u32)
 9:5-9:56: @6[32]: _36 = &amp;(*_33)
 9:5-9:56: @6[34]: _37 = &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))
-9:5-9:56: @6.Call: _35 = ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
+9:5-9:56: @6.Call: _35 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
 9:5-9:56: @7[4]: _39 = &amp;(*_34)
 9:5-9:56: @7[6]: _40 = &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))
-9:5-9:56: @7.Call: _38 = ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
+9:5-9:56: @7.Call: _38 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
 9:5-9:56: @8[2]: _29 = [move _35, move _38]
 9:5-9:56: @8[7]: _28 = &amp;_29
 9:5-9:56: @8[8]: _27 = &amp;(*_28)
 9:5-9:56: @8[9]: _26 = move _27 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:5-9:56: @8.Call: _21 = Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
-9:5-9:56: @9.Call: _20 = _print(move _21) -&gt; [return: bb10, unwind: bb14]
+9:5-9:56: @8.Call: _21 = std::fmt::Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
+9:5-9:56: @9.Call: _20 = std::io::_print(move _21) -&gt; [return: bb10, unwind: bb14]
 9:5-9:56: @10[6]: _19 = const ()
 10:18-10:24: @10[10]: _42 = _1
 10:27-10:33: @10[12]: _43 = _17
@@ -339,8 +339,8 @@ For revisions in Pull Requests (PR):
 11:5-11:49: @11[22]: _54 = &amp;(*_57)
 11:5-11:49: @11[23]: _53 = &amp;(*_54)
 11:5-11:49: @11[24]: _52 = move _53 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-11:49: @11.Call: _47 = Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
-11:5-11:49: @12.Call: _46 = _print(move _47) -&gt; [return: bb13, unwind: bb14]
+11:5-11:49: @11.Call: _47 = std::fmt::Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
+11:5-11:49: @12.Call: _46 = std::io::_print(move _47) -&gt; [return: bb13, unwind: bb14]
 11:5-11:49: @13[5]: _45 = const ()
 12:5-12:11: @13[7]: _0 = _41
 13:2-13:2: @13.Return: return">    result</span></span>
@@ -359,16 +359,16 @@ For revisions in Pull Requests (PR):
 9:5-9:56: @6[29]: _34 = (_30.1: &amp;u32)
 9:5-9:56: @6[32]: _36 = &amp;(*_33)
 9:5-9:56: @6[34]: _37 = &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))
-9:5-9:56: @6.Call: _35 = ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
+9:5-9:56: @6.Call: _35 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _36, move _37) -&gt; [return: bb7, unwind: bb14]
 9:5-9:56: @7[4]: _39 = &amp;(*_34)
 9:5-9:56: @7[6]: _40 = &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))
-9:5-9:56: @7.Call: _38 = ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
+9:5-9:56: @7.Call: _38 = std::fmt::ArgumentV1::new::&lt;u32&gt;(move _39, move _40) -&gt; [return: bb8, unwind: bb14]
 9:5-9:56: @8[2]: _29 = [move _35, move _38]
 9:5-9:56: @8[7]: _28 = &amp;_29
 9:5-9:56: @8[8]: _27 = &amp;(*_28)
 9:5-9:56: @8[9]: _26 = move _27 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:5-9:56: @8.Call: _21 = Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
-9:5-9:56: @9.Call: _20 = _print(move _21) -&gt; [return: bb10, unwind: bb14]
+9:5-9:56: @8.Call: _21 = std::fmt::Arguments::new_v1(move _22, move _26) -&gt; [return: bb9, unwind: bb14]
+9:5-9:56: @9.Call: _20 = std::io::_print(move _21) -&gt; [return: bb10, unwind: bb14]
 9:5-9:56: @10[6]: _19 = const ()
 10:18-10:24: @10[10]: _42 = _1
 10:27-10:33: @10[12]: _43 = _17
@@ -385,8 +385,8 @@ For revisions in Pull Requests (PR):
 11:5-11:49: @11[22]: _54 = &amp;(*_57)
 11:5-11:49: @11[23]: _53 = &amp;(*_54)
 11:5-11:49: @11[24]: _52 = move _53 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-11:5-11:49: @11.Call: _47 = Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
-11:5-11:49: @12.Call: _46 = _print(move _47) -&gt; [return: bb13, unwind: bb14]
+11:5-11:49: @11.Call: _47 = std::fmt::Arguments::new_v1(move _48, move _52) -&gt; [return: bb12, unwind: bb14]
+11:5-11:49: @12.Call: _46 = std::io::_print(move _47) -&gt; [return: bb13, unwind: bb14]
 11:5-11:49: @13[5]: _45 = const ()
 12:5-12:11: @13[7]: _0 = _41
 13:2-13:2: @13.Return: return">}<span class="annotation">⦉@5,6,7,8,9,10,11,12,13</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html
index 86d9875b47c..32988629ba0 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html
@@ -81,10 +81,10 @@ For revisions in Pull Requests (PR):
 6:9-6:34: @1[18]: _13 = &amp;(*_32)
 6:9-6:34: @1[19]: _12 = &amp;(*_13)
 6:9-6:34: @1[20]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-6:9-6:34: @1.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
-6:9-6:34: @3.Call: _5 = _print(move _6) -&gt; [return: bb4, unwind: bb7]
+6:9-6:34: @1.Call: _6 = std::fmt::Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
+6:9-6:34: @3.Call: _5 = std::io::_print(move _6) -&gt; [return: bb4, unwind: bb7]
 6:9-6:34: @4[5]: _4 = const ()
-7:9-7:26: @4.Call: begin_panic::&lt;&amp;str&gt;(const &quot;panics&quot;) -&gt; bb7"><span class="annotation">@1,3,4⦊</span>println!("panicking...");</span></span>
+7:9-7:26: @4.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;panics&quot;) -&gt; bb7"><span class="annotation">@1,3,4⦊</span>println!("panicking...");</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="6:18-6:32: @1[6]: _33 = const might_panic::promoted[3]
 6:18-6:32: @1[7]: _9 = &amp;(*_33)
 6:18-6:32: @1[8]: _8 = &amp;(*_9)
@@ -95,10 +95,10 @@ For revisions in Pull Requests (PR):
 6:9-6:34: @1[18]: _13 = &amp;(*_32)
 6:9-6:34: @1[19]: _12 = &amp;(*_13)
 6:9-6:34: @1[20]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-6:9-6:34: @1.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
-6:9-6:34: @3.Call: _5 = _print(move _6) -&gt; [return: bb4, unwind: bb7]
+6:9-6:34: @1.Call: _6 = std::fmt::Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb7]
+6:9-6:34: @3.Call: _5 = std::io::_print(move _6) -&gt; [return: bb4, unwind: bb7]
 6:9-6:34: @4[5]: _4 = const ()
-7:9-7:26: @4.Call: begin_panic::&lt;&amp;str&gt;(const &quot;panics&quot;) -&gt; bb7">        panic!("panics");<span class="annotation">⦉@1,3,4</span></span></span><span class="code" style="--layer: 0"></span></span>
+7:9-7:26: @4.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;panics&quot;) -&gt; bb7">        panic!("panics");<span class="annotation">⦉@1,3,4</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="code even" style="--layer: 1" title="9:18-9:31: @2[6]: _31 = const might_panic::promoted[1]
 9:18-9:31: @2[7]: _23 = &amp;(*_31)
 9:18-9:31: @2[8]: _22 = &amp;(*_23)
@@ -109,8 +109,8 @@ For revisions in Pull Requests (PR):
 9:9-9:33: @2[18]: _27 = &amp;(*_30)
 9:9-9:33: @2[19]: _26 = &amp;(*_27)
 9:9-9:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:9-9:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-9:9-9:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+9:9-9:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+9:9-9:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 9:9-9:33: @6[5]: _18 = const ()
 8:12-10:6: @6[7]: _0 = const ()
 11:2-11:2: @6.Return: return"><span class="annotation">@2,5,6⦊</span>{</span></span>
@@ -124,8 +124,8 @@ For revisions in Pull Requests (PR):
 9:9-9:33: @2[18]: _27 = &amp;(*_30)
 9:9-9:33: @2[19]: _26 = &amp;(*_27)
 9:9-9:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:9-9:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-9:9-9:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+9:9-9:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+9:9-9:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 9:9-9:33: @6[5]: _18 = const ()
 8:12-10:6: @6[7]: _0 = const ()
 11:2-11:2: @6.Return: return">        println!("Don't Panic");</span></span>
@@ -139,8 +139,8 @@ For revisions in Pull Requests (PR):
 9:9-9:33: @2[18]: _27 = &amp;(*_30)
 9:9-9:33: @2[19]: _26 = &amp;(*_27)
 9:9-9:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:9-9:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-9:9-9:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+9:9-9:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+9:9-9:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 9:9-9:33: @6[5]: _18 = const ()
 8:12-10:6: @6[7]: _0 = const ()
 11:2-11:2: @6.Return: return">    }</span></span>
@@ -154,8 +154,8 @@ For revisions in Pull Requests (PR):
 9:9-9:33: @2[18]: _27 = &amp;(*_30)
 9:9-9:33: @2[19]: _26 = &amp;(*_27)
 9:9-9:33: @2[20]: _25 = move _26 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-9:9-9:33: @2.Call: _20 = Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
-9:9-9:33: @5.Call: _19 = _print(move _20) -&gt; [return: bb6, unwind: bb7]
+9:9-9:33: @2.Call: _20 = std::fmt::Arguments::new_v1(move _21, move _25) -&gt; [return: bb5, unwind: bb7]
+9:9-9:33: @5.Call: _19 = std::io::_print(move _20) -&gt; [return: bb6, unwind: bb7]
 9:9-9:33: @6[5]: _18 = const ()
 8:12-10:6: @6[7]: _0 = const ()
 11:2-11:2: @6.Return: return">}<span class="annotation">⦉@2,5,6</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html
index 6d9d63deccf..3e307c4f460 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html
@@ -81,7 +81,7 @@ For revisions in Pull Requests (PR):
 25:49-25:62: @2[20]: _16 = &amp;_2
 25:64-25:77: @2[24]: _19 = &amp;_1
 25:80-25:93: @2[26]: _20 = &amp;_2
-25:64-25:93: @2.Call: _18 = &lt;Version as PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
+25:64-25:93: @2.Call: _18 = &lt;Version as std::cmp::PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
 25:64-25:93: @3[2]: _17 = &amp;_18
 25:5-25:95: @3[3]: _14 = (move _15, move _16, move _17)
 25:5-25:95: @3[7]: FakeRead(ForMatchedPlace, _14)
@@ -89,20 +89,20 @@ For revisions in Pull Requests (PR):
 25:5-25:95: @3[11]: _22 = (_14.1: &amp;Version)
 25:5-25:95: @3[13]: _23 = (_14.2: &amp;bool)
 25:5-25:95: @3[16]: _25 = &amp;(*_21)
-25:5-25:95: @3[18]: _26 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @3.Call: _24 = ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
+25:5-25:95: @3[18]: _26 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @3.Call: _24 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
 25:5-25:95: @4[4]: _28 = &amp;(*_22)
-25:5-25:95: @4[6]: _29 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @4.Call: _27 = ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
+25:5-25:95: @4[6]: _29 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @4.Call: _27 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
 25:5-25:95: @5[4]: _31 = &amp;(*_23)
 25:5-25:95: @5[6]: _32 = &lt;bool as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r bool, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @5.Call: _30 = ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
+25:5-25:95: @5.Call: _30 = std::fmt::ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
 25:5-25:95: @6[2]: _13 = [move _24, move _27, move _30]
 25:5-25:95: @6[9]: _12 = &amp;_13
 25:5-25:95: @6[10]: _11 = &amp;(*_12)
 25:5-25:95: @6[11]: _10 = move _11 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-25:5-25:95: @6.Call: _5 = Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
-25:5-25:95: @7.Call: _4 = _print(move _5) -&gt; [return: bb8, unwind: bb9]
+25:5-25:95: @6.Call: _5 = std::fmt::Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
+25:5-25:95: @7.Call: _4 = std::io::_print(move _5) -&gt; [return: bb8, unwind: bb9]
 25:5-25:95: @8[7]: _3 = const ()
 21:11-26:2: @8[9]: _0 = const ()
 26:2-26:2: @8.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8⦊</span>fn main() {</span></span>
@@ -118,7 +118,7 @@ For revisions in Pull Requests (PR):
 25:49-25:62: @2[20]: _16 = &amp;_2
 25:64-25:77: @2[24]: _19 = &amp;_1
 25:80-25:93: @2[26]: _20 = &amp;_2
-25:64-25:93: @2.Call: _18 = &lt;Version as PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
+25:64-25:93: @2.Call: _18 = &lt;Version as std::cmp::PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
 25:64-25:93: @3[2]: _17 = &amp;_18
 25:5-25:95: @3[3]: _14 = (move _15, move _16, move _17)
 25:5-25:95: @3[7]: FakeRead(ForMatchedPlace, _14)
@@ -126,20 +126,20 @@ For revisions in Pull Requests (PR):
 25:5-25:95: @3[11]: _22 = (_14.1: &amp;Version)
 25:5-25:95: @3[13]: _23 = (_14.2: &amp;bool)
 25:5-25:95: @3[16]: _25 = &amp;(*_21)
-25:5-25:95: @3[18]: _26 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @3.Call: _24 = ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
+25:5-25:95: @3[18]: _26 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @3.Call: _24 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
 25:5-25:95: @4[4]: _28 = &amp;(*_22)
-25:5-25:95: @4[6]: _29 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @4.Call: _27 = ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
+25:5-25:95: @4[6]: _29 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @4.Call: _27 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
 25:5-25:95: @5[4]: _31 = &amp;(*_23)
 25:5-25:95: @5[6]: _32 = &lt;bool as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r bool, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @5.Call: _30 = ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
+25:5-25:95: @5.Call: _30 = std::fmt::ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
 25:5-25:95: @6[2]: _13 = [move _24, move _27, move _30]
 25:5-25:95: @6[9]: _12 = &amp;_13
 25:5-25:95: @6[10]: _11 = &amp;(*_12)
 25:5-25:95: @6[11]: _10 = move _11 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-25:5-25:95: @6.Call: _5 = Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
-25:5-25:95: @7.Call: _4 = _print(move _5) -&gt; [return: bb8, unwind: bb9]
+25:5-25:95: @6.Call: _5 = std::fmt::Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
+25:5-25:95: @7.Call: _4 = std::io::_print(move _5) -&gt; [return: bb8, unwind: bb9]
 25:5-25:95: @8[7]: _3 = const ()
 21:11-26:2: @8[9]: _0 = const ()
 26:2-26:2: @8.Return: return">    let version_3_2_1 = Version::new(3, 2, 1);</span></span>
@@ -155,7 +155,7 @@ For revisions in Pull Requests (PR):
 25:49-25:62: @2[20]: _16 = &amp;_2
 25:64-25:77: @2[24]: _19 = &amp;_1
 25:80-25:93: @2[26]: _20 = &amp;_2
-25:64-25:93: @2.Call: _18 = &lt;Version as PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
+25:64-25:93: @2.Call: _18 = &lt;Version as std::cmp::PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
 25:64-25:93: @3[2]: _17 = &amp;_18
 25:5-25:95: @3[3]: _14 = (move _15, move _16, move _17)
 25:5-25:95: @3[7]: FakeRead(ForMatchedPlace, _14)
@@ -163,20 +163,20 @@ For revisions in Pull Requests (PR):
 25:5-25:95: @3[11]: _22 = (_14.1: &amp;Version)
 25:5-25:95: @3[13]: _23 = (_14.2: &amp;bool)
 25:5-25:95: @3[16]: _25 = &amp;(*_21)
-25:5-25:95: @3[18]: _26 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @3.Call: _24 = ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
+25:5-25:95: @3[18]: _26 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @3.Call: _24 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
 25:5-25:95: @4[4]: _28 = &amp;(*_22)
-25:5-25:95: @4[6]: _29 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @4.Call: _27 = ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
+25:5-25:95: @4[6]: _29 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @4.Call: _27 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
 25:5-25:95: @5[4]: _31 = &amp;(*_23)
 25:5-25:95: @5[6]: _32 = &lt;bool as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r bool, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @5.Call: _30 = ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
+25:5-25:95: @5.Call: _30 = std::fmt::ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
 25:5-25:95: @6[2]: _13 = [move _24, move _27, move _30]
 25:5-25:95: @6[9]: _12 = &amp;_13
 25:5-25:95: @6[10]: _11 = &amp;(*_12)
 25:5-25:95: @6[11]: _10 = move _11 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-25:5-25:95: @6.Call: _5 = Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
-25:5-25:95: @7.Call: _4 = _print(move _5) -&gt; [return: bb8, unwind: bb9]
+25:5-25:95: @6.Call: _5 = std::fmt::Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
+25:5-25:95: @7.Call: _4 = std::io::_print(move _5) -&gt; [return: bb8, unwind: bb9]
 25:5-25:95: @8[7]: _3 = const ()
 21:11-26:2: @8[9]: _0 = const ()
 26:2-26:2: @8.Return: return">    let version_3_3_0 = Version::new(3, 3, 0);</span></span>
@@ -192,7 +192,7 @@ For revisions in Pull Requests (PR):
 25:49-25:62: @2[20]: _16 = &amp;_2
 25:64-25:77: @2[24]: _19 = &amp;_1
 25:80-25:93: @2[26]: _20 = &amp;_2
-25:64-25:93: @2.Call: _18 = &lt;Version as PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
+25:64-25:93: @2.Call: _18 = &lt;Version as std::cmp::PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
 25:64-25:93: @3[2]: _17 = &amp;_18
 25:5-25:95: @3[3]: _14 = (move _15, move _16, move _17)
 25:5-25:95: @3[7]: FakeRead(ForMatchedPlace, _14)
@@ -200,20 +200,20 @@ For revisions in Pull Requests (PR):
 25:5-25:95: @3[11]: _22 = (_14.1: &amp;Version)
 25:5-25:95: @3[13]: _23 = (_14.2: &amp;bool)
 25:5-25:95: @3[16]: _25 = &amp;(*_21)
-25:5-25:95: @3[18]: _26 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @3.Call: _24 = ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
+25:5-25:95: @3[18]: _26 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @3.Call: _24 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
 25:5-25:95: @4[4]: _28 = &amp;(*_22)
-25:5-25:95: @4[6]: _29 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @4.Call: _27 = ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
+25:5-25:95: @4[6]: _29 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @4.Call: _27 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
 25:5-25:95: @5[4]: _31 = &amp;(*_23)
 25:5-25:95: @5[6]: _32 = &lt;bool as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r bool, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @5.Call: _30 = ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
+25:5-25:95: @5.Call: _30 = std::fmt::ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
 25:5-25:95: @6[2]: _13 = [move _24, move _27, move _30]
 25:5-25:95: @6[9]: _12 = &amp;_13
 25:5-25:95: @6[10]: _11 = &amp;(*_12)
 25:5-25:95: @6[11]: _10 = move _11 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-25:5-25:95: @6.Call: _5 = Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
-25:5-25:95: @7.Call: _4 = _print(move _5) -&gt; [return: bb8, unwind: bb9]
+25:5-25:95: @6.Call: _5 = std::fmt::Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
+25:5-25:95: @7.Call: _4 = std::io::_print(move _5) -&gt; [return: bb8, unwind: bb9]
 25:5-25:95: @8[7]: _3 = const ()
 21:11-26:2: @8[9]: _0 = const ()
 26:2-26:2: @8.Return: return"></span></span>
@@ -229,7 +229,7 @@ For revisions in Pull Requests (PR):
 25:49-25:62: @2[20]: _16 = &amp;_2
 25:64-25:77: @2[24]: _19 = &amp;_1
 25:80-25:93: @2[26]: _20 = &amp;_2
-25:64-25:93: @2.Call: _18 = &lt;Version as PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
+25:64-25:93: @2.Call: _18 = &lt;Version as std::cmp::PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
 25:64-25:93: @3[2]: _17 = &amp;_18
 25:5-25:95: @3[3]: _14 = (move _15, move _16, move _17)
 25:5-25:95: @3[7]: FakeRead(ForMatchedPlace, _14)
@@ -237,20 +237,20 @@ For revisions in Pull Requests (PR):
 25:5-25:95: @3[11]: _22 = (_14.1: &amp;Version)
 25:5-25:95: @3[13]: _23 = (_14.2: &amp;bool)
 25:5-25:95: @3[16]: _25 = &amp;(*_21)
-25:5-25:95: @3[18]: _26 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @3.Call: _24 = ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
+25:5-25:95: @3[18]: _26 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @3.Call: _24 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
 25:5-25:95: @4[4]: _28 = &amp;(*_22)
-25:5-25:95: @4[6]: _29 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @4.Call: _27 = ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
+25:5-25:95: @4[6]: _29 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @4.Call: _27 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
 25:5-25:95: @5[4]: _31 = &amp;(*_23)
 25:5-25:95: @5[6]: _32 = &lt;bool as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r bool, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @5.Call: _30 = ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
+25:5-25:95: @5.Call: _30 = std::fmt::ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
 25:5-25:95: @6[2]: _13 = [move _24, move _27, move _30]
 25:5-25:95: @6[9]: _12 = &amp;_13
 25:5-25:95: @6[10]: _11 = &amp;(*_12)
 25:5-25:95: @6[11]: _10 = move _11 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-25:5-25:95: @6.Call: _5 = Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
-25:5-25:95: @7.Call: _4 = _print(move _5) -&gt; [return: bb8, unwind: bb9]
+25:5-25:95: @6.Call: _5 = std::fmt::Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
+25:5-25:95: @7.Call: _4 = std::io::_print(move _5) -&gt; [return: bb8, unwind: bb9]
 25:5-25:95: @8[7]: _3 = const ()
 21:11-26:2: @8[9]: _0 = const ()
 26:2-26:2: @8.Return: return">    println!("{:?} &lt; {:?} = {}", version_3_2_1, version_3_3_0, version_3_2_1 &lt; version_3_3_0);</span></span>
@@ -266,7 +266,7 @@ For revisions in Pull Requests (PR):
 25:49-25:62: @2[20]: _16 = &amp;_2
 25:64-25:77: @2[24]: _19 = &amp;_1
 25:80-25:93: @2[26]: _20 = &amp;_2
-25:64-25:93: @2.Call: _18 = &lt;Version as PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
+25:64-25:93: @2.Call: _18 = &lt;Version as std::cmp::PartialOrd&gt;::lt(move _19, move _20) -&gt; [return: bb3, unwind: bb9]
 25:64-25:93: @3[2]: _17 = &amp;_18
 25:5-25:95: @3[3]: _14 = (move _15, move _16, move _17)
 25:5-25:95: @3[7]: FakeRead(ForMatchedPlace, _14)
@@ -274,20 +274,20 @@ For revisions in Pull Requests (PR):
 25:5-25:95: @3[11]: _22 = (_14.1: &amp;Version)
 25:5-25:95: @3[13]: _23 = (_14.2: &amp;bool)
 25:5-25:95: @3[16]: _25 = &amp;(*_21)
-25:5-25:95: @3[18]: _26 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @3.Call: _24 = ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
+25:5-25:95: @3[18]: _26 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @3.Call: _24 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _25, move _26) -&gt; [return: bb4, unwind: bb9]
 25:5-25:95: @4[4]: _28 = &amp;(*_22)
-25:5-25:95: @4[6]: _29 = &lt;Version as Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @4.Call: _27 = ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
+25:5-25:95: @4[6]: _29 = &lt;Version as std::fmt::Debug&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r Version, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+25:5-25:95: @4.Call: _27 = std::fmt::ArgumentV1::new::&lt;Version&gt;(move _28, move _29) -&gt; [return: bb5, unwind: bb9]
 25:5-25:95: @5[4]: _31 = &amp;(*_23)
 25:5-25:95: @5[6]: _32 = &lt;bool as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r bool, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
-25:5-25:95: @5.Call: _30 = ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
+25:5-25:95: @5.Call: _30 = std::fmt::ArgumentV1::new::&lt;bool&gt;(move _31, move _32) -&gt; [return: bb6, unwind: bb9]
 25:5-25:95: @6[2]: _13 = [move _24, move _27, move _30]
 25:5-25:95: @6[9]: _12 = &amp;_13
 25:5-25:95: @6[10]: _11 = &amp;(*_12)
 25:5-25:95: @6[11]: _10 = move _11 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-25:5-25:95: @6.Call: _5 = Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
-25:5-25:95: @7.Call: _4 = _print(move _5) -&gt; [return: bb8, unwind: bb9]
+25:5-25:95: @6.Call: _5 = std::fmt::Arguments::new_v1(move _6, move _10) -&gt; [return: bb7, unwind: bb9]
+25:5-25:95: @7.Call: _4 = std::io::_print(move _5) -&gt; [return: bb8, unwind: bb9]
 25:5-25:95: @8[7]: _3 = const ()
 21:11-26:2: @8[9]: _0 = const ()
 26:2-26:2: @8.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
index 47f9ab2bd5e..3954fc3d0bd 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 8:5-8:17: @0[4]: _3 = &amp;(*_4)
 8:5-8:17: @0[7]: _6 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 8:5-8:17: @0[8]: _5 = &amp;(*_6)
-8:5-8:17: @0.Call: _2 = &lt;usize as PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
-8:5-8:17: @1[3]: _7 = Less
-8:5-8:17: @1.Call: _0 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
+8:5-8:17: @0.Call: _2 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
+8:5-8:17: @1[3]: _7 = std::cmp::Ordering::Less
+8:5-8:17: @1.Call: _0 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
 8:5-8:17: @2.Return: return"><span class="annotation">@0,1,2⦊</span>patch: usize<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}.-------.InstrumentCoverage.0.html
index 9f0c29c50bf..86e18b3dbfd 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 7:5-7:17: @0[5]: _4 = &amp;(*_5)
 7:5-7:17: @0[8]: _7 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 7:5-7:17: @0[9]: _6 = &amp;(*_7)
-7:5-7:17: @0.Call: _3 = &lt;usize as PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
-7:5-7:17: @1[3]: _8 = Equal
-7:5-7:17: @1.Call: _2 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
+7:5-7:17: @0.Call: _3 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
+7:5-7:17: @1[3]: _8 = std::cmp::Ordering::Equal
+7:5-7:17: @1.Call: _2 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
 7:5-7:17: @2[4]: _10 = &amp;(*(_1.2: &amp;&amp;usize))
 7:5-7:17: @2[6]: _11 = &amp;(*(_1.3: &amp;&amp;usize))"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">minor: usize</span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge.-------.InstrumentCoverage.0.html
index 60a832b2e2a..652dc277081 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-ge.-------.InstrumentCoverage.0.html
@@ -81,9 +81,9 @@ For revisions in Pull Requests (PR):
 4:39-4:49: @0[21]: _13 = &amp;(*_14)
 4:39-4:49: @0[24]: _16 = &amp;(*_3)
 4:39-4:49: @0[25]: _15 = &amp;(*_16)
-4:39-4:49: @0.Call: _12 = &lt;usize as PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
-4:39-4:49: @1[3]: _17 = Equal
-4:39-4:49: @1.Call: _11 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
+4:39-4:49: @0.Call: _12 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
+4:39-4:49: @1[3]: _17 = std::cmp::Ordering::Equal
+4:39-4:49: @1.Call: _11 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
 4:39-4:49: @2[4]: _19 = &amp;_7
 4:39-4:49: @2[6]: _20 = &amp;_4
 4:39-4:49: @2[8]: _21 = &amp;_8
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
index 2b9a13fe060..57fc5d8d6de 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 8:5-8:17: @0[4]: _3 = &amp;(*_4)
 8:5-8:17: @0[7]: _6 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 8:5-8:17: @0[8]: _5 = &amp;(*_6)
-8:5-8:17: @0.Call: _2 = &lt;usize as PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
-8:5-8:17: @1[3]: _7 = Less
-8:5-8:17: @1.Call: _0 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
+8:5-8:17: @0.Call: _2 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
+8:5-8:17: @1[3]: _7 = std::cmp::Ordering::Less
+8:5-8:17: @1.Call: _0 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
 8:5-8:17: @2.Return: return"><span class="annotation">@0,1,2⦊</span>patch: usize<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}.-------.InstrumentCoverage.0.html
index ff7e783dd68..6fbcdff5ab7 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 7:5-7:17: @0[5]: _4 = &amp;(*_5)
 7:5-7:17: @0[8]: _7 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 7:5-7:17: @0[9]: _6 = &amp;(*_7)
-7:5-7:17: @0.Call: _3 = &lt;usize as PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
-7:5-7:17: @1[3]: _8 = Equal
-7:5-7:17: @1.Call: _2 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
+7:5-7:17: @0.Call: _3 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
+7:5-7:17: @1[3]: _8 = std::cmp::Ordering::Equal
+7:5-7:17: @1.Call: _2 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
 7:5-7:17: @2[4]: _10 = &amp;(*(_1.2: &amp;&amp;usize))
 7:5-7:17: @2[6]: _11 = &amp;(*(_1.3: &amp;&amp;usize))"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">minor: usize</span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt.-------.InstrumentCoverage.0.html
index f6b9dc9776f..37f2661cf18 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-gt.-------.InstrumentCoverage.0.html
@@ -81,9 +81,9 @@ For revisions in Pull Requests (PR):
 4:39-4:49: @0[21]: _13 = &amp;(*_14)
 4:39-4:49: @0[24]: _16 = &amp;(*_3)
 4:39-4:49: @0[25]: _15 = &amp;(*_16)
-4:39-4:49: @0.Call: _12 = &lt;usize as PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
-4:39-4:49: @1[3]: _17 = Equal
-4:39-4:49: @1.Call: _11 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
+4:39-4:49: @0.Call: _12 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
+4:39-4:49: @1[3]: _17 = std::cmp::Ordering::Equal
+4:39-4:49: @1.Call: _11 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
 4:39-4:49: @2[4]: _19 = &amp;_7
 4:39-4:49: @2[6]: _20 = &amp;_4
 4:39-4:49: @2[8]: _21 = &amp;_8
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
index 5c95a635f07..5789988c991 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 8:5-8:17: @0[4]: _3 = &amp;(*_4)
 8:5-8:17: @0[7]: _6 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 8:5-8:17: @0[8]: _5 = &amp;(*_6)
-8:5-8:17: @0.Call: _2 = &lt;usize as PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
-8:5-8:17: @1[3]: _7 = Greater
-8:5-8:17: @1.Call: _0 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
+8:5-8:17: @0.Call: _2 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
+8:5-8:17: @1[3]: _7 = std::cmp::Ordering::Greater
+8:5-8:17: @1.Call: _0 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
 8:5-8:17: @2.Return: return"><span class="annotation">@0,1,2⦊</span>patch: usize<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}.-------.InstrumentCoverage.0.html
index 6eb894a166a..de7c38bc9c4 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 7:5-7:17: @0[5]: _4 = &amp;(*_5)
 7:5-7:17: @0[8]: _7 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 7:5-7:17: @0[9]: _6 = &amp;(*_7)
-7:5-7:17: @0.Call: _3 = &lt;usize as PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
-7:5-7:17: @1[3]: _8 = Equal
-7:5-7:17: @1.Call: _2 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
+7:5-7:17: @0.Call: _3 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
+7:5-7:17: @1[3]: _8 = std::cmp::Ordering::Equal
+7:5-7:17: @1.Call: _2 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
 7:5-7:17: @2[4]: _10 = &amp;(*(_1.2: &amp;&amp;usize))
 7:5-7:17: @2[6]: _11 = &amp;(*(_1.3: &amp;&amp;usize))"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">minor: usize</span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le.-------.InstrumentCoverage.0.html
index fb7e520faf1..1f3068868f6 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-le.-------.InstrumentCoverage.0.html
@@ -81,9 +81,9 @@ For revisions in Pull Requests (PR):
 4:39-4:49: @0[21]: _13 = &amp;(*_14)
 4:39-4:49: @0[24]: _16 = &amp;(*_3)
 4:39-4:49: @0[25]: _15 = &amp;(*_16)
-4:39-4:49: @0.Call: _12 = &lt;usize as PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
-4:39-4:49: @1[3]: _17 = Equal
-4:39-4:49: @1.Call: _11 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
+4:39-4:49: @0.Call: _12 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
+4:39-4:49: @1[3]: _17 = std::cmp::Ordering::Equal
+4:39-4:49: @1.Call: _11 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
 4:39-4:49: @2[4]: _19 = &amp;_7
 4:39-4:49: @2[6]: _20 = &amp;_4
 4:39-4:49: @2[8]: _21 = &amp;_8
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
index b2b3e172d53..746daab5ac1 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 8:5-8:17: @0[4]: _3 = &amp;(*_4)
 8:5-8:17: @0[7]: _6 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 8:5-8:17: @0[8]: _5 = &amp;(*_6)
-8:5-8:17: @0.Call: _2 = &lt;usize as PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
-8:5-8:17: @1[3]: _7 = Greater
-8:5-8:17: @1.Call: _0 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
+8:5-8:17: @0.Call: _2 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _3, move _5) -&gt; [return: bb1, unwind: bb3]
+8:5-8:17: @1[3]: _7 = std::cmp::Ordering::Greater
+8:5-8:17: @1.Call: _0 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _2, move _7) -&gt; [return: bb2, unwind: bb3]
 8:5-8:17: @2.Return: return"><span class="annotation">@0,1,2⦊</span>patch: usize<span class="annotation">⦉@0,1,2</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}.-------.InstrumentCoverage.0.html
index e54849345b7..0867a7ad364 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt-{closure#0}.-------.InstrumentCoverage.0.html
@@ -74,9 +74,9 @@ For revisions in Pull Requests (PR):
 7:5-7:17: @0[5]: _4 = &amp;(*_5)
 7:5-7:17: @0[8]: _7 = &amp;(*(*(_1.1: &amp;&amp;usize)))
 7:5-7:17: @0[9]: _6 = &amp;(*_7)
-7:5-7:17: @0.Call: _3 = &lt;usize as PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
-7:5-7:17: @1[3]: _8 = Equal
-7:5-7:17: @1.Call: _2 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
+7:5-7:17: @0.Call: _3 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _4, move _6) -&gt; [return: bb1, unwind: bb4]
+7:5-7:17: @1[3]: _8 = std::cmp::Ordering::Equal
+7:5-7:17: @1.Call: _2 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _3, move _8) -&gt; [return: bb2, unwind: bb4]
 7:5-7:17: @2[4]: _10 = &amp;(*(_1.2: &amp;&amp;usize))
 7:5-7:17: @2[6]: _11 = &amp;(*(_1.3: &amp;&amp;usize))"><span class="annotation">@0,1,2,3⦊</span>‸<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">minor: usize</span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt.-------.InstrumentCoverage.0.html
index f111ad0045a..abcd7147c6f 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#2}-lt.-------.InstrumentCoverage.0.html
@@ -81,9 +81,9 @@ For revisions in Pull Requests (PR):
 4:39-4:49: @0[21]: _13 = &amp;(*_14)
 4:39-4:49: @0[24]: _16 = &amp;(*_3)
 4:39-4:49: @0[25]: _15 = &amp;(*_16)
-4:39-4:49: @0.Call: _12 = &lt;usize as PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
-4:39-4:49: @1[3]: _17 = Equal
-4:39-4:49: @1.Call: _11 = Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
+4:39-4:49: @0.Call: _12 = &lt;usize as std::cmp::PartialOrd&gt;::partial_cmp(move _13, move _15) -&gt; [return: bb1, unwind: bb5]
+4:39-4:49: @1[3]: _17 = std::cmp::Ordering::Equal
+4:39-4:49: @1.Call: _11 = std::option::Option::&lt;std::cmp::Ordering&gt;::unwrap_or(move _12, move _17) -&gt; [return: bb2, unwind: bb5]
 4:39-4:49: @2[4]: _19 = &amp;_7
 4:39-4:49: @2[6]: _20 = &amp;_4
 4:39-4:49: @2[8]: _21 = &amp;_8
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#7}-fmt.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#7}-fmt.-------.InstrumentCoverage.0.html
index 195ef4da7b4..5b9e070864b 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#7}-fmt.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#7}-fmt.-------.InstrumentCoverage.0.html
@@ -76,34 +76,38 @@ For revisions in Pull Requests (PR):
 4:17-4:22: @0[9]: _7 = &amp;mut (*_2)
 4:17-4:22: @0[12]: _9 = const &quot;Version&quot;
 4:17-4:22: @0[13]: _8 = &amp;(*_9)
-4:17-4:22: @0.Call: _6 = Formatter::debug_struct(move _7, move _8) -&gt; [return: bb1, unwind: bb6]
+4:17-4:22: @0.Call: _6 = std::fmt::Formatter::debug_struct(move _7, move _8) -&gt; [return: bb1, unwind: bb6]
 4:17-4:22: @1[2]: FakeRead(ForLet, _6)
-4:17-4:22: @1[6]: _11 = &amp;mut _6
-4:17-4:22: @1[9]: _13 = const &quot;major&quot;
-4:17-4:22: @1[10]: _12 = &amp;(*_13)
-4:17-4:22: @1[15]: _17 = &amp;(*_3)
-4:17-4:22: @1[16]: _16 = &amp;_17
-4:17-4:22: @1[17]: _15 = &amp;(*_16)
-4:17-4:22: @1[18]: _14 = move _15 as &amp;dyn std::fmt::Debug (Pointer(Unsize))
-4:17-4:22: @1.Call: _10 = DebugStruct::field(move _11, move _12, move _14) -&gt; [return: bb2, unwind: bb6]
-4:17-4:22: @2[9]: _19 = &amp;mut _6
-4:17-4:22: @2[12]: _21 = const &quot;minor&quot;
-4:17-4:22: @2[13]: _20 = &amp;(*_21)
-4:17-4:22: @2[18]: _25 = &amp;(*_4)
-4:17-4:22: @2[19]: _24 = &amp;_25
-4:17-4:22: @2[20]: _23 = &amp;(*_24)
-4:17-4:22: @2[21]: _22 = move _23 as &amp;dyn std::fmt::Debug (Pointer(Unsize))
-4:17-4:22: @2.Call: _18 = DebugStruct::field(move _19, move _20, move _22) -&gt; [return: bb3, unwind: bb6]
-4:17-4:22: @3[9]: _27 = &amp;mut _6
-4:17-4:22: @3[12]: _29 = const &quot;patch&quot;
-4:17-4:22: @3[13]: _28 = &amp;(*_29)
-4:17-4:22: @3[18]: _33 = &amp;(*_5)
-4:17-4:22: @3[19]: _32 = &amp;_33
-4:17-4:22: @3[20]: _31 = &amp;(*_32)
-4:17-4:22: @3[21]: _30 = move _31 as &amp;dyn std::fmt::Debug (Pointer(Unsize))
-4:17-4:22: @3.Call: _26 = DebugStruct::field(move _27, move _28, move _30) -&gt; [return: bb4, unwind: bb6]
-4:17-4:22: @4[8]: _34 = &amp;mut _6
-4:17-4:22: @4.Call: _0 = DebugStruct::finish(move _34) -&gt; [return: bb5, unwind: bb6]
+4:17-4:22: @1[7]: _12 = &amp;mut _6
+4:17-4:22: @1[8]: _11 = &amp;mut (*_12)
+4:17-4:22: @1[11]: _14 = const &quot;major&quot;
+4:17-4:22: @1[12]: _13 = &amp;(*_14)
+4:17-4:22: @1[17]: _18 = &amp;(*_3)
+4:17-4:22: @1[18]: _17 = &amp;_18
+4:17-4:22: @1[19]: _16 = &amp;(*_17)
+4:17-4:22: @1[20]: _15 = move _16 as &amp;dyn std::fmt::Debug (Pointer(Unsize))
+4:17-4:22: @1.Call: _10 = std::fmt::DebugStruct::field(move _11, move _13, move _15) -&gt; [return: bb2, unwind: bb6]
+4:17-4:22: @2[11]: _21 = &amp;mut _6
+4:17-4:22: @2[12]: _20 = &amp;mut (*_21)
+4:17-4:22: @2[15]: _23 = const &quot;minor&quot;
+4:17-4:22: @2[16]: _22 = &amp;(*_23)
+4:17-4:22: @2[21]: _27 = &amp;(*_4)
+4:17-4:22: @2[22]: _26 = &amp;_27
+4:17-4:22: @2[23]: _25 = &amp;(*_26)
+4:17-4:22: @2[24]: _24 = move _25 as &amp;dyn std::fmt::Debug (Pointer(Unsize))
+4:17-4:22: @2.Call: _19 = std::fmt::DebugStruct::field(move _20, move _22, move _24) -&gt; [return: bb3, unwind: bb6]
+4:17-4:22: @3[11]: _30 = &amp;mut _6
+4:17-4:22: @3[12]: _29 = &amp;mut (*_30)
+4:17-4:22: @3[15]: _32 = const &quot;patch&quot;
+4:17-4:22: @3[16]: _31 = &amp;(*_32)
+4:17-4:22: @3[21]: _36 = &amp;(*_5)
+4:17-4:22: @3[22]: _35 = &amp;_36
+4:17-4:22: @3[23]: _34 = &amp;(*_35)
+4:17-4:22: @3[24]: _33 = move _34 as &amp;dyn std::fmt::Debug (Pointer(Unsize))
+4:17-4:22: @3.Call: _28 = std::fmt::DebugStruct::field(move _29, move _31, move _33) -&gt; [return: bb4, unwind: bb6]
+4:17-4:22: @4[10]: _38 = &amp;mut _6
+4:17-4:22: @4[11]: _37 = &amp;mut (*_38)
+4:17-4:22: @4.Call: _0 = std::fmt::DebugStruct::finish(move _37) -&gt; [return: bb5, unwind: bb6]
 4:22-4:22: @5.Return: return"><span class="annotation">@0,1,2,3,4,5⦊</span>Debug<span class="annotation">⦉@0,1,2,3,4,5</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#8}-clone.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#8}-clone.-------.InstrumentCoverage.0.html
index 27a2ab71827..f1c98393343 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#8}-clone.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.{impl#8}-clone.-------.InstrumentCoverage.0.html
@@ -75,13 +75,13 @@ For revisions in Pull Requests (PR):
 4:10-4:15: @0[6]: _4 = &amp;((*_1).2: usize)
 4:10-4:15: @0[10]: _7 = &amp;(*_2)
 4:10-4:15: @0[11]: _6 = &amp;(*_7)
-4:10-4:15: @0.Call: _5 = &lt;usize as Clone&gt;::clone(move _6) -&gt; [return: bb1, unwind: bb4]
+4:10-4:15: @0.Call: _5 = &lt;usize as std::clone::Clone&gt;::clone(move _6) -&gt; [return: bb1, unwind: bb4]
 4:10-4:15: @1[4]: _10 = &amp;(*_3)
 4:10-4:15: @1[5]: _9 = &amp;(*_10)
-4:10-4:15: @1.Call: _8 = &lt;usize as Clone&gt;::clone(move _9) -&gt; [return: bb2, unwind: bb4]
+4:10-4:15: @1.Call: _8 = &lt;usize as std::clone::Clone&gt;::clone(move _9) -&gt; [return: bb2, unwind: bb4]
 4:10-4:15: @2[4]: _13 = &amp;(*_4)
 4:10-4:15: @2[5]: _12 = &amp;(*_13)
-4:10-4:15: @2.Call: _11 = &lt;usize as Clone&gt;::clone(move _12) -&gt; [return: bb3, unwind: bb4]
+4:10-4:15: @2.Call: _11 = &lt;usize as std::clone::Clone&gt;::clone(move _12) -&gt; [return: bb3, unwind: bb4]
 4:10-4:15: @3[1]: _0 = Version { major: move _5, minor: move _8, patch: move _11 }
 4:15-4:15: @3.Return: return"><span class="annotation">@0,1,2,3⦊</span>Clone<span class="annotation">⦉@0,1,2,3</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html
index f528b698d44..6b911eea341 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_loop/simple_loop.main.-------.InstrumentCoverage.0.html
@@ -69,81 +69,81 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb13]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1"><span class="annotation">@0,1,2,3⦊</span>fn main() {</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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1">    // 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: bb13]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1">    // 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: bb13]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1">    // 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: bb13]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1">    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: bb13]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1">    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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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)
 12:9-12:16: @3[6]: _7 = _1">    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]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::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:41: @1.Call: _2 = &lt;std::env::Args as std::iter::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
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html
index 8e49e45b86e..a56692d9c2a 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html
@@ -69,65 +69,65 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb21]
+<div class="code" style="counter-reset: line 2"><span class="line"><span><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _1"><span class="annotation">@0,1,2,3⦊</span>fn main() {</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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _1">    // 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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _1">    // 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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _1">    // 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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _1">    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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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)
 10:8-10:15: @3[6]: _7 = _1">    let mut countdown = 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: bb21]
+<span class="line"><span class="code even" style="--layer: 1" title="7:19-7:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb21]
 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: bb20]
+7:19-7:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb20]
 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
@@ -147,7 +147,7 @@ For revisions in Pull Requests (PR):
 <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="17:9-17:13: @9[5]: _16 = &amp;mut _10
 17:9-17:13: @9[6]: _15 = &amp;mut (*_16)
-17:9-17:13: @9.Call: _14 = &lt;std::ops::Range&lt;i32&gt; as Iterator&gt;::next(move _15) -&gt; [return: bb10, unwind: bb21]
+17:9-17:13: @9.Call: _14 = &lt;std::ops::Range&lt;i32&gt; as std::iter::Iterator&gt;::next(move _15) -&gt; [return: bb10, unwind: bb21]
 17:9-17:13: @10[1]: FakeRead(ForMatchedPlace, _14)"><span class="annotation">@8,9,10⦊</span>0..2<span class="annotation">⦉@8,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">        let z</span></span>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html
index 41404759c3d..5b0c5cb072f 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html
@@ -84,7 +84,7 @@ For revisions in Pull Requests (PR):
 <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: @3[5]: _11 = &amp;mut _5
 19:9-19:14: @3[6]: _10 = &amp;mut (*_11)
-19:9-19:14: @3.Call: _9 = &lt;std::ops::Range&lt;i32&gt; as Iterator&gt;::next(move _10) -&gt; [return: bb4, unwind: bb39]
+19:9-19:14: @3.Call: _9 = &lt;std::ops::Range&lt;i32&gt; as std::iter::Iterator&gt;::next(move _10) -&gt; [return: bb4, unwind: bb39]
 19:9-19:14: @4[1]: FakeRead(ForMatchedPlace, _9)"><span class="annotation">@2,3,4⦊</span>0..10<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">    {</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)
@@ -110,16 +110,16 @@ For revisions in Pull Requests (PR):
 <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="27:13-27:41: @10.Call: _22 = call(const true) -&gt; [return: bb12, unwind: bb39]"><span class="annotation">@10,12,13⦊</span>call(/*return_error=*/ true)<span class="annotation">⦉@10,12,13</span></span></span><span><span class="code odd" style="--layer: 1" title="27:41-27:42: @17[1]: _24 = ((_21 as Err).0: ())
 27:41-27:42: @17[4]: _27 = _24
-27:41-27:42: @17.Call: _26 = &lt;() as From&lt;()&gt;&gt;::from(move _27) -&gt; [return: bb18, unwind: bb39]"><span class="annotation">@15,17,18,19⦊</span>?<span class="annotation">⦉@15,17,18,19</span></span></span><span class="code" style="--layer: 0">;</span></span>
+27:41-27:42: @17.Call: _26 = &lt;() as std::convert::From&lt;()&gt;&gt;::from(move _27) -&gt; [return: bb18, unwind: bb39]"><span class="annotation">@15,17,18,19⦊</span>?<span class="annotation">⦉@15,17,18,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="code even" style="--layer: 1" title="28:13-28:42: @14.Call: _31 = call(const false) -&gt; [return: bb20, unwind: bb39]"><span class="annotation">@14,20,21⦊</span>call(/*return_error=*/ false)<span class="annotation">⦉@14,20,21</span></span></span><span><span class="code odd" style="--layer: 1" title="28:42-28:43: @25[1]: _33 = ((_30 as Err).0: ())
 28:42-28:43: @25[4]: _36 = _33
-28:42-28:43: @25.Call: _35 = &lt;() as From&lt;()&gt;&gt;::from(move _36) -&gt; [return: bb26, unwind: bb39]"><span class="annotation">@23,25,26,27⦊</span>?<span class="annotation">⦉@23,25,26,27</span></span></span><span class="code" style="--layer: 0">;</span></span>
+28:42-28:43: @25.Call: _35 = &lt;() as std::convert::From&lt;()&gt;&gt;::from(move _36) -&gt; [return: bb26, unwind: bb39]"><span class="annotation">@23,25,26,27⦊</span>?<span class="annotation">⦉@23,25,26,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">        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="32:13-32:42: @11.Call: _40 = call(const false) -&gt; [return: bb28, unwind: bb39]"><span class="annotation">@11,28,29⦊</span>call(/*return_error=*/ false)<span class="annotation">⦉@11,28,29</span></span></span><span><span class="code odd" style="--layer: 1" title="32:42-32:43: @33[1]: _42 = ((_39 as Err).0: ())
 32:42-32:43: @33[4]: _45 = _42
-32:42-32:43: @33.Call: _44 = &lt;() as From&lt;()&gt;&gt;::from(move _45) -&gt; [return: bb34, unwind: bb39]"><span class="annotation">@31,33,34,35⦊</span>?<span class="annotation">⦉@31,33,34,35</span></span></span><span class="code" style="--layer: 0">;</span></span>
+32:42-32:43: @33.Call: _44 = &lt;() as std::convert::From&lt;()&gt;&gt;::from(move _45) -&gt; [return: bb34, unwind: bb39]"><span class="annotation">@31,33,34,35⦊</span>?<span class="annotation">⦉@31,33,34,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">    </span><span><span class="code even" style="--layer: 1" title="35:8-35:10: @5[9]: _47 = ()
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html
index 4af7b179866..65e21ecef13 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html
@@ -69,36 +69,36 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 36"><span class="line"><span><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<div class="code" style="counter-reset: line 36"><span class="line"><span><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 38:19-38:35: @1[0]: _3 = &amp;_4
-38:19-38:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+38:19-38:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 38:19-38:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 38:9-38:16: @2[3]: FakeRead(ForLet, _1)
 39:25-39:26: @3[2]: _5 = const 2_i32
 39:9-39:22: @3[3]: FakeRead(ForLet, _5)
 40:9-40:16: @3[6]: _7 = _1
 40:8-40:16: @3[7]: _6 = Not(move _7)"><span class="annotation">@0,1,2,3⦊</span>pub fn unused_function() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 38:19-38:35: @1[0]: _3 = &amp;_4
-38:19-38:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+38:19-38:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 38:19-38:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 38:9-38:16: @2[3]: FakeRead(ForLet, _1)
 39:25-39:26: @3[2]: _5 = const 2_i32
 39:9-39:22: @3[3]: FakeRead(ForLet, _5)
 40:9-40:16: @3[6]: _7 = _1
 40:8-40:16: @3[7]: _6 = Not(move _7)">    let is_true = std::env::args().len() == 1;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 38:19-38:35: @1[0]: _3 = &amp;_4
-38:19-38:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+38:19-38:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 38:19-38:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 38:9-38:16: @2[3]: FakeRead(ForLet, _1)
 39:25-39:26: @3[2]: _5 = const 2_i32
 39:9-39:22: @3[3]: FakeRead(ForLet, _5)
 40:9-40:16: @3[6]: _7 = _1
 40:8-40:16: @3[7]: _6 = Not(move _7)">    let mut countdown = 2;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="38:19-38:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 38:19-38:35: @1[0]: _3 = &amp;_4
-38:19-38:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+38:19-38:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 38:19-38:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 38:9-38:16: @2[3]: FakeRead(ForLet, _1)
 39:25-39:26: @3[2]: _5 = const 2_i32
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html
index 6b0ce85c460..02154a2268b 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html
@@ -78,14 +78,14 @@ For revisions in Pull Requests (PR):
 34:5-34:56: @0[20]: FakeRead(ForMatchedPlace, _13)
 34:5-34:56: @0[22]: _15 = (_13.0: &amp;T)
 34:5-34:56: @0[25]: _17 = &amp;(*_15)
-34:5-34:56: @0[27]: _18 = &lt;T as Debug&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))
-34:5-34:56: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+34:5-34:56: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+34:5-34:56: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 34:5-34:56: @1[2]: _12 = [move _16]
 34:5-34:56: @1[5]: _11 = &amp;_12
 34:5-34:56: @1[6]: _10 = &amp;(*_11)
 34:5-34:56: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-34:5-34:56: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-34:5-34:56: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+34:5-34:56: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+34:5-34:56: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 34:5-34:56: @3[6]: _2 = const ()
 33:50-35:2: @3[8]: _0 = const ()
 35:2-35:2: @4.Return: return"><span class="annotation">@0,1,2,3,4⦊</span>pub fn unused_generic_function&lt;T: Debug&gt;(arg: T) {</span></span>
@@ -98,14 +98,14 @@ For revisions in Pull Requests (PR):
 34:5-34:56: @0[20]: FakeRead(ForMatchedPlace, _13)
 34:5-34:56: @0[22]: _15 = (_13.0: &amp;T)
 34:5-34:56: @0[25]: _17 = &amp;(*_15)
-34:5-34:56: @0[27]: _18 = &lt;T as Debug&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))
-34:5-34:56: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+34:5-34:56: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+34:5-34:56: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 34:5-34:56: @1[2]: _12 = [move _16]
 34:5-34:56: @1[5]: _11 = &amp;_12
 34:5-34:56: @1[6]: _10 = &amp;(*_11)
 34:5-34:56: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-34:5-34:56: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-34:5-34:56: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+34:5-34:56: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+34:5-34:56: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 34:5-34:56: @3[6]: _2 = const ()
 33:50-35:2: @3[8]: _0 = const ()
 35:2-35:2: @4.Return: return">    println!("unused_generic_function with {:?}", arg);</span></span>
@@ -118,14 +118,14 @@ For revisions in Pull Requests (PR):
 34:5-34:56: @0[20]: FakeRead(ForMatchedPlace, _13)
 34:5-34:56: @0[22]: _15 = (_13.0: &amp;T)
 34:5-34:56: @0[25]: _17 = &amp;(*_15)
-34:5-34:56: @0[27]: _18 = &lt;T as Debug&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))
-34:5-34:56: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+34:5-34:56: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+34:5-34:56: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 34:5-34:56: @1[2]: _12 = [move _16]
 34:5-34:56: @1[5]: _11 = &amp;_12
 34:5-34:56: @1[6]: _10 = &amp;(*_11)
 34:5-34:56: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-34:5-34:56: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-34:5-34:56: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+34:5-34:56: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+34:5-34:56: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 34:5-34:56: @3[6]: _2 = const ()
 33:50-35:2: @3[8]: _0 = const ()
 35:2-35:2: @4.Return: return">}<span class="annotation">⦉@0,1,2,3,4</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html
index 6424e03fc71..78228594e37 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html
@@ -69,36 +69,36 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 44"><span class="line"><span><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<div class="code" style="counter-reset: line 44"><span class="line"><span><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 46:19-46:35: @1[0]: _3 = &amp;_4
-46:19-46:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+46:19-46:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 46:19-46:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 46:9-46:16: @2[3]: FakeRead(ForLet, _1)
 47:25-47:26: @3[2]: _5 = const 2_i32
 47:9-47:22: @3[3]: FakeRead(ForLet, _5)
 48:9-48:16: @3[6]: _7 = _1
 48:8-48:16: @3[7]: _6 = Not(move _7)"><span class="annotation">@0,1,2,3⦊</span>fn unused_private_function() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 46:19-46:35: @1[0]: _3 = &amp;_4
-46:19-46:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+46:19-46:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 46:19-46:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 46:9-46:16: @2[3]: FakeRead(ForLet, _1)
 47:25-47:26: @3[2]: _5 = const 2_i32
 47:9-47:22: @3[3]: FakeRead(ForLet, _5)
 48:9-48:16: @3[6]: _7 = _1
 48:8-48:16: @3[7]: _6 = Not(move _7)">    let is_true = std::env::args().len() == 1;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 46:19-46:35: @1[0]: _3 = &amp;_4
-46:19-46:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+46:19-46:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 46:19-46:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 46:9-46:16: @2[3]: FakeRead(ForLet, _1)
 47:25-47:26: @3[2]: _5 = const 2_i32
 47:9-47:22: @3[3]: FakeRead(ForLet, _5)
 48:9-48:16: @3[6]: _7 = _1
 48:8-48:16: @3[7]: _6 = Not(move _7)">    let mut countdown = 2;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb8]
+<span class="line"><span class="code even" style="--layer: 1" title="46:19-46:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb8]
 46:19-46:35: @1[0]: _3 = &amp;_4
-46:19-46:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
+46:19-46:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb7]
 46:19-46:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 46:9-46:16: @2[3]: FakeRead(ForLet, _1)
 47:25-47:26: @3[2]: _5 = const 2_i32
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html
index 7c44c536379..8f618d2e249 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html
@@ -69,122 +69,122 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 52"><span class="line"><span><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+<div class="code" style="counter-reset: line 52"><span class="line"><span><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7⦊</span>fn use_this_lib_crate() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8⦊</span>fn use_this_lib_crate() {</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">    used_from_bin_crate_and_lib_crate_generic_function("used from library used_crate.rs");</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">    used_from_bin_crate_and_lib_crate_generic_function("used from library used_crate.rs");</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">    used_with_same_type_from_bin_crate_and_lib_crate_generic_function(</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">    used_with_same_type_from_bin_crate_and_lib_crate_generic_function(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">        "used from library used_crate.rs",</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">        "used from library used_crate.rs",</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">    );</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">    );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">    let some_vec = vec![5, 6, 7, 8];</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">    let some_vec = vec![5, 6, 7, 8];</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">    used_only_from_this_lib_crate_generic_function(some_vec);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">    used_only_from_this_lib_crate_generic_function(some_vec);</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">    used_only_from_this_lib_crate_generic_function("used ONLY from library used_crate.rs");</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb10]
-55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb10]
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">    used_only_from_this_lib_crate_generic_function("used ONLY from library used_crate.rs");</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="54:5-54:90: @0.Call: _1 = used_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb1, unwind: bb13]
+55:5-57:6: @1.Call: _2 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from library used_crate.rs&quot;) -&gt; [return: bb2, unwind: bb13]
 58:20-58:36: @2[5]: _6 = Box([i32; 4])
 58:20-58:36: @2[6]: (*_6) = [const 5_i32, const 6_i32, const 7_i32, const 8_i32]
 58:20-58:36: @2[7]: _5 = move _6
 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-58:20-58:36: @3.Call: _3 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb4, unwind: bb10]
-58:9-58:17: @4[1]: FakeRead(ForLet, _3)
-59:52-59:60: @4[4]: _8 = move _3
-59:5-59:61: @4.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb5, unwind: bb8]
-60:5-60:91: @5.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb6, unwind: bb8]
-53:25-61:2: @6[1]: _0 = const ()
-61:2-61:2: @7.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7</span></span></span></span></div>
+58:20-58:36: @4.Call: _3 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _4) -&gt; [return: bb5, unwind: bb12]
+58:9-58:17: @5[1]: FakeRead(ForLet, _3)
+59:52-59:60: @5[4]: _8 = move _3
+59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _8) -&gt; [return: bb6, unwind: bb9]
+60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;used ONLY from library used_crate.rs&quot;) -&gt; [return: bb7, unwind: bb10]
+53:25-61:2: @7[1]: _0 = const ()
+61:2-61:2: @8.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html
index 8b994a6962b..61a709c4729 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html
@@ -78,14 +78,14 @@ For revisions in Pull Requests (PR):
 26:5-26:83: @0[20]: FakeRead(ForMatchedPlace, _13)
 26:5-26:83: @0[22]: _15 = (_13.0: &amp;T)
 26:5-26:83: @0[25]: _17 = &amp;(*_15)
-26:5-26:83: @0[27]: _18 = &lt;T as Debug&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))
-26:5-26:83: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+26:5-26:83: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+26:5-26:83: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 26:5-26:83: @1[2]: _12 = [move _16]
 26:5-26:83: @1[5]: _11 = &amp;_12
 26:5-26:83: @1[6]: _10 = &amp;(*_11)
 26:5-26:83: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-26:5-26:83: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-26:5-26:83: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+26:5-26:83: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+26:5-26:83: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 26:5-26:83: @3[6]: _2 = const ()
 25:77-27:2: @3[8]: _0 = const ()
 27:2-27:2: @4.Return: return"><span class="annotation">@0,1,2,3,4⦊</span>pub fn used_from_bin_crate_and_lib_crate_generic_function&lt;T: Debug&gt;(arg: T) {</span></span>
@@ -98,14 +98,14 @@ For revisions in Pull Requests (PR):
 26:5-26:83: @0[20]: FakeRead(ForMatchedPlace, _13)
 26:5-26:83: @0[22]: _15 = (_13.0: &amp;T)
 26:5-26:83: @0[25]: _17 = &amp;(*_15)
-26:5-26:83: @0[27]: _18 = &lt;T as Debug&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))
-26:5-26:83: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+26:5-26:83: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+26:5-26:83: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 26:5-26:83: @1[2]: _12 = [move _16]
 26:5-26:83: @1[5]: _11 = &amp;_12
 26:5-26:83: @1[6]: _10 = &amp;(*_11)
 26:5-26:83: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-26:5-26:83: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-26:5-26:83: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+26:5-26:83: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+26:5-26:83: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 26:5-26:83: @3[6]: _2 = const ()
 25:77-27:2: @3[8]: _0 = const ()
 27:2-27:2: @4.Return: return">    println!("used_from_bin_crate_and_lib_crate_generic_function with {:?}", arg);</span></span>
@@ -118,14 +118,14 @@ For revisions in Pull Requests (PR):
 26:5-26:83: @0[20]: FakeRead(ForMatchedPlace, _13)
 26:5-26:83: @0[22]: _15 = (_13.0: &amp;T)
 26:5-26:83: @0[25]: _17 = &amp;(*_15)
-26:5-26:83: @0[27]: _18 = &lt;T as Debug&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))
-26:5-26:83: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+26:5-26:83: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+26:5-26:83: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 26:5-26:83: @1[2]: _12 = [move _16]
 26:5-26:83: @1[5]: _11 = &amp;_12
 26:5-26:83: @1[6]: _10 = &amp;(*_11)
 26:5-26:83: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-26:5-26:83: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-26:5-26:83: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+26:5-26:83: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+26:5-26:83: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 26:5-26:83: @3[6]: _2 = const ()
 25:77-27:2: @3[8]: _0 = const ()
 27:2-27:2: @4.Return: return">}<span class="annotation">⦉@0,1,2,3,4</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html
index d35f191b64e..974a24b2c6d 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html
@@ -73,25 +73,25 @@ For revisions in Pull Requests (PR):
 <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="9:19-9:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb9]
+<span class="line"><span class="code" style="--layer: 0">    let </span><span><span class="code even" style="--layer: 1" title="9:19-9:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb9]
 9:19-9:35: @1[0]: _3 = &amp;_4
-9:19-9:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb8]
+9:19-9:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb8]
 9:19-9:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 9:9-9:16: @2[3]: FakeRead(ForLet, _1)
 10:25-10:26: @3[2]: _5 = const 0_i32
 10:9-10:22: @3[3]: FakeRead(ForLet, _5)
 11:8-11:15: @3[6]: _7 = _1"><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="9:19-9:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb9]
+<span class="line"><span class="code even" style="--layer: 1" title="9:19-9:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb9]
 9:19-9:35: @1[0]: _3 = &amp;_4
-9:19-9:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb8]
+9:19-9:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb8]
 9:19-9:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 9:9-9:16: @2[3]: FakeRead(ForLet, _1)
 10:25-10:26: @3[2]: _5 = const 0_i32
 10:9-10:22: @3[3]: FakeRead(ForLet, _5)
 11:8-11:15: @3[6]: _7 = _1">    let mut countdown = 0;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="9:19-9:35: @0.Call: _4 = args() -&gt; [return: bb1, unwind: bb9]
+<span class="line"><span class="code even" style="--layer: 1" title="9:19-9:35: @0.Call: _4 = std::env::args() -&gt; [return: bb1, unwind: bb9]
 9:19-9:35: @1[0]: _3 = &amp;_4
-9:19-9:41: @1.Call: _2 = &lt;Args as ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb8]
+9:19-9:41: @1.Call: _2 = &lt;std::env::Args as std::iter::ExactSizeIterator&gt;::len(move _3) -&gt; [return: bb2, unwind: bb8]
 9:19-9:46: @2[1]: _1 = Eq(move _2, const 1_usize)
 9:9-9:16: @2[3]: FakeRead(ForLet, _1)
 10:25-10:26: @3[2]: _5 = const 0_i32
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_bin_crate_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_bin_crate_generic_function.-------.InstrumentCoverage.0.html
index 29fe03382c7..68035339fe4 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_bin_crate_generic_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_bin_crate_generic_function.-------.InstrumentCoverage.0.html
@@ -78,14 +78,14 @@ For revisions in Pull Requests (PR):
 18:5-18:74: @0[20]: FakeRead(ForMatchedPlace, _13)
 18:5-18:74: @0[22]: _15 = (_13.0: &amp;T)
 18:5-18:74: @0[25]: _17 = &amp;(*_15)
-18:5-18:74: @0[27]: _18 = &lt;T as Debug&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:5-18:74: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+18:5-18:74: @0[27]: _18 = &lt;T as std::fmt::Debug&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:5-18:74: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 18:5-18:74: @1[2]: _12 = [move _16]
 18:5-18:74: @1[5]: _11 = &amp;_12
 18:5-18:74: @1[6]: _10 = &amp;(*_11)
 18:5-18:74: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-18:5-18:74: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-18:5-18:74: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+18:5-18:74: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+18:5-18:74: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 18:5-18:74: @3[6]: _2 = const ()
 17:68-19:2: @3[8]: _0 = const ()
 19:2-19:2: @4.Return: return"><span class="annotation">@0,1,2,3,4⦊</span>pub fn used_only_from_bin_crate_generic_function&lt;T: Debug&gt;(arg: T) {</span></span>
@@ -98,14 +98,14 @@ For revisions in Pull Requests (PR):
 18:5-18:74: @0[20]: FakeRead(ForMatchedPlace, _13)
 18:5-18:74: @0[22]: _15 = (_13.0: &amp;T)
 18:5-18:74: @0[25]: _17 = &amp;(*_15)
-18:5-18:74: @0[27]: _18 = &lt;T as Debug&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:5-18:74: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+18:5-18:74: @0[27]: _18 = &lt;T as std::fmt::Debug&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:5-18:74: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 18:5-18:74: @1[2]: _12 = [move _16]
 18:5-18:74: @1[5]: _11 = &amp;_12
 18:5-18:74: @1[6]: _10 = &amp;(*_11)
 18:5-18:74: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-18:5-18:74: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-18:5-18:74: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+18:5-18:74: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+18:5-18:74: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 18:5-18:74: @3[6]: _2 = const ()
 17:68-19:2: @3[8]: _0 = const ()
 19:2-19:2: @4.Return: return">    println!("used_only_from_bin_crate_generic_function with {:?}", arg);</span></span>
@@ -118,14 +118,14 @@ For revisions in Pull Requests (PR):
 18:5-18:74: @0[20]: FakeRead(ForMatchedPlace, _13)
 18:5-18:74: @0[22]: _15 = (_13.0: &amp;T)
 18:5-18:74: @0[25]: _17 = &amp;(*_15)
-18:5-18:74: @0[27]: _18 = &lt;T as Debug&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:5-18:74: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+18:5-18:74: @0[27]: _18 = &lt;T as std::fmt::Debug&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:5-18:74: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 18:5-18:74: @1[2]: _12 = [move _16]
 18:5-18:74: @1[5]: _11 = &amp;_12
 18:5-18:74: @1[6]: _10 = &amp;(*_11)
 18:5-18:74: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-18:5-18:74: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-18:5-18:74: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+18:5-18:74: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+18:5-18:74: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 18:5-18:74: @3[6]: _2 = const ()
 17:68-19:2: @3[8]: _0 = const ()
 19:2-19:2: @4.Return: return">}<span class="annotation">⦉@0,1,2,3,4</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_this_lib_crate_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_this_lib_crate_generic_function.-------.InstrumentCoverage.0.html
index 76bc057dd00..63944eb9ab3 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_this_lib_crate_generic_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_only_from_this_lib_crate_generic_function.-------.InstrumentCoverage.0.html
@@ -78,14 +78,14 @@ For revisions in Pull Requests (PR):
 22:5-22:79: @0[20]: FakeRead(ForMatchedPlace, _13)
 22:5-22:79: @0[22]: _15 = (_13.0: &amp;T)
 22:5-22:79: @0[25]: _17 = &amp;(*_15)
-22:5-22:79: @0[27]: _18 = &lt;T as Debug&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))
-22:5-22:79: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+22:5-22:79: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+22:5-22:79: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 22:5-22:79: @1[2]: _12 = [move _16]
 22:5-22:79: @1[5]: _11 = &amp;_12
 22:5-22:79: @1[6]: _10 = &amp;(*_11)
 22:5-22:79: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-22:5-22:79: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-22:5-22:79: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+22:5-22:79: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+22:5-22:79: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 22:5-22:79: @3[6]: _2 = const ()
 21:73-23:2: @3[8]: _0 = const ()
 23:2-23:2: @4.Return: return"><span class="annotation">@0,1,2,3,4⦊</span>pub fn used_only_from_this_lib_crate_generic_function&lt;T: Debug&gt;(arg: T) {</span></span>
@@ -98,14 +98,14 @@ For revisions in Pull Requests (PR):
 22:5-22:79: @0[20]: FakeRead(ForMatchedPlace, _13)
 22:5-22:79: @0[22]: _15 = (_13.0: &amp;T)
 22:5-22:79: @0[25]: _17 = &amp;(*_15)
-22:5-22:79: @0[27]: _18 = &lt;T as Debug&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))
-22:5-22:79: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+22:5-22:79: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+22:5-22:79: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 22:5-22:79: @1[2]: _12 = [move _16]
 22:5-22:79: @1[5]: _11 = &amp;_12
 22:5-22:79: @1[6]: _10 = &amp;(*_11)
 22:5-22:79: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-22:5-22:79: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-22:5-22:79: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+22:5-22:79: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+22:5-22:79: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 22:5-22:79: @3[6]: _2 = const ()
 21:73-23:2: @3[8]: _0 = const ()
 23:2-23:2: @4.Return: return">    println!("used_only_from_this_lib_crate_generic_function with {:?}", arg);</span></span>
@@ -118,14 +118,14 @@ For revisions in Pull Requests (PR):
 22:5-22:79: @0[20]: FakeRead(ForMatchedPlace, _13)
 22:5-22:79: @0[22]: _15 = (_13.0: &amp;T)
 22:5-22:79: @0[25]: _17 = &amp;(*_15)
-22:5-22:79: @0[27]: _18 = &lt;T as Debug&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))
-22:5-22:79: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+22:5-22:79: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+22:5-22:79: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 22:5-22:79: @1[2]: _12 = [move _16]
 22:5-22:79: @1[5]: _11 = &amp;_12
 22:5-22:79: @1[6]: _10 = &amp;(*_11)
 22:5-22:79: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-22:5-22:79: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-22:5-22:79: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+22:5-22:79: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+22:5-22:79: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 22:5-22:79: @3[6]: _2 = const ()
 21:73-23:2: @3[8]: _0 = const ()
 23:2-23:2: @4.Return: return">}<span class="annotation">⦉@0,1,2,3,4</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_with_same_type_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_with_same_type_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html
index a2f4b7e19eb..b146180fbd1 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_with_same_type_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_with_same_type_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html
@@ -78,14 +78,14 @@ For revisions in Pull Requests (PR):
 30:5-30:98: @0[20]: FakeRead(ForMatchedPlace, _13)
 30:5-30:98: @0[22]: _15 = (_13.0: &amp;T)
 30:5-30:98: @0[25]: _17 = &amp;(*_15)
-30:5-30:98: @0[27]: _18 = &lt;T as Debug&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))
-30:5-30:98: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+30:5-30:98: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+30:5-30:98: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 30:5-30:98: @1[2]: _12 = [move _16]
 30:5-30:98: @1[5]: _11 = &amp;_12
 30:5-30:98: @1[6]: _10 = &amp;(*_11)
 30:5-30:98: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-30:5-30:98: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-30:5-30:98: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+30:5-30:98: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+30:5-30:98: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 30:5-30:98: @3[6]: _2 = const ()
 29:92-31:2: @3[8]: _0 = const ()
 31:2-31:2: @4.Return: return"><span class="annotation">@0,1,2,3,4⦊</span>pub fn used_with_same_type_from_bin_crate_and_lib_crate_generic_function&lt;T: Debug&gt;(arg: T) {</span></span>
@@ -98,14 +98,14 @@ For revisions in Pull Requests (PR):
 30:5-30:98: @0[20]: FakeRead(ForMatchedPlace, _13)
 30:5-30:98: @0[22]: _15 = (_13.0: &amp;T)
 30:5-30:98: @0[25]: _17 = &amp;(*_15)
-30:5-30:98: @0[27]: _18 = &lt;T as Debug&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))
-30:5-30:98: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+30:5-30:98: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+30:5-30:98: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 30:5-30:98: @1[2]: _12 = [move _16]
 30:5-30:98: @1[5]: _11 = &amp;_12
 30:5-30:98: @1[6]: _10 = &amp;(*_11)
 30:5-30:98: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-30:5-30:98: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-30:5-30:98: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+30:5-30:98: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+30:5-30:98: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 30:5-30:98: @3[6]: _2 = const ()
 29:92-31:2: @3[8]: _0 = const ()
 31:2-31:2: @4.Return: return">    println!("used_with_same_type_from_bin_crate_and_lib_crate_generic_function with {:?}", arg);</span></span>
@@ -118,14 +118,14 @@ For revisions in Pull Requests (PR):
 30:5-30:98: @0[20]: FakeRead(ForMatchedPlace, _13)
 30:5-30:98: @0[22]: _15 = (_13.0: &amp;T)
 30:5-30:98: @0[25]: _17 = &amp;(*_15)
-30:5-30:98: @0[27]: _18 = &lt;T as Debug&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))
-30:5-30:98: @0.Call: _16 = ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
+30:5-30:98: @0[27]: _18 = &lt;T as std::fmt::Debug&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))
+30:5-30:98: @0.Call: _16 = std::fmt::ArgumentV1::new::&lt;T&gt;(move _17, move _18) -&gt; [return: bb1, unwind: bb5]
 30:5-30:98: @1[2]: _12 = [move _16]
 30:5-30:98: @1[5]: _11 = &amp;_12
 30:5-30:98: @1[6]: _10 = &amp;(*_11)
 30:5-30:98: @1[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
-30:5-30:98: @1.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
-30:5-30:98: @2.Call: _3 = _print(move _4) -&gt; [return: bb3, unwind: bb5]
+30:5-30:98: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -&gt; [return: bb2, unwind: bb5]
+30:5-30:98: @2.Call: _3 = std::io::_print(move _4) -&gt; [return: bb3, unwind: bb5]
 30:5-30:98: @3[6]: _2 = const ()
 29:92-31:2: @3[8]: _0 = const ()
 31:2-31:2: @4.Return: return">}<span class="annotation">⦉@0,1,2,3,4</span></span></span></span></div>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.uses_crate/uses_crate.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.uses_crate/uses_crate.main.-------.InstrumentCoverage.0.html
index ba6af60fa5c..28cf051ecf8 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.uses_crate/uses_crate.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.uses_crate/uses_crate.main.-------.InstrumentCoverage.0.html
@@ -69,125 +69,125 @@ For revisions in Pull Requests (PR):
 </style>
 </head>
 <body>
-<div class="code" style="counter-reset: line 4"><span class="line"><span><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+<div class="code" style="counter-reset: line 4"><span class="line"><span><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8⦊</span>fn main() {</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8,9⦊</span>fn main() {</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">    used_crate::used_function();</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">    used_crate::used_function();</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">    let some_vec = vec![1, 2, 3, 4];</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">    let some_vec = vec![1, 2, 3, 4];</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">    used_crate::used_only_from_bin_crate_generic_function(&amp;some_vec);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">    used_crate::used_only_from_bin_crate_generic_function(&amp;some_vec);</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">    used_crate::used_only_from_bin_crate_generic_function("used from bin uses_crate.rs");</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">    used_crate::used_only_from_bin_crate_generic_function("used from bin uses_crate.rs");</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">    used_crate::used_from_bin_crate_and_lib_crate_generic_function(some_vec);</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">    used_crate::used_from_bin_crate_and_lib_crate_generic_function(some_vec);</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">    used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function("interesting?");</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_function() -&gt; [return: bb1, unwind: bb11]
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">    used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function("interesting?");</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="6:5-6:32: @0.Call: _1 = used_crate::used_function() -&gt; [return: bb1, unwind: bb14]
 7:20-7:36: @1[5]: _5 = Box([i32; 4])
 7:20-7:36: @1[6]: (*_5) = [const 1_i32, const 2_i32, const 3_i32, const 4_i32]
 7:20-7:36: @1[7]: _4 = move _5
 7:20-7:36: @1[8]: _3 = move _4 as std::boxed::Box&lt;[i32]&gt; (Pointer(Unsize))
-7:20-7:36: @2.Call: _2 = slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb3, unwind: bb11]
-7:9-7:17: @3[1]: FakeRead(ForLet, _2)
-8:59-8:68: @3[4]: _7 = &amp;_2
-8:5-8:69: @3.Call: _6 = used_only_from_bin_crate_generic_function::&lt;&amp;Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb4, unwind: bb9]
-9:5-9:89: @4.Call: _8 = used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb5, unwind: bb9]
-10:68-10:76: @5[3]: _10 = move _2
-10:5-10:77: @5.Call: _9 = used_from_bin_crate_and_lib_crate_generic_function::&lt;Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb6, unwind: bb9]
-11:5-11:98: @6.Call: _11 = used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb7, unwind: bb9]
-5:11-12:2: @7[1]: _0 = const ()
-12:2-12:2: @8.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8</span></span></span></span></div>
+7:20-7:36: @3.Call: _2 = std::slice::&lt;impl [i32]&gt;::into_vec::&lt;std::alloc::Global&gt;(move _3) -&gt; [return: bb4, unwind: bb13]
+7:9-7:17: @4[1]: FakeRead(ForLet, _2)
+8:59-8:68: @4[4]: _7 = &amp;_2
+8:5-8:69: @4.Call: _6 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;std::vec::Vec&lt;i32&gt;&gt;(move _7) -&gt; [return: bb5, unwind: bb11]
+9:5-9:89: @5.Call: _8 = used_crate::used_only_from_bin_crate_generic_function::&lt;&amp;str&gt;(const &quot;used from bin uses_crate.rs&quot;) -&gt; [return: bb6, unwind: bb11]
+10:68-10:76: @6[3]: _10 = move _2
+10:5-10:77: @6.Call: _9 = used_crate::used_from_bin_crate_and_lib_crate_generic_function::&lt;std::vec::Vec&lt;i32&gt;&gt;(move _10) -&gt; [return: bb7, unwind: bb10]
+11:5-11:98: @7.Call: _11 = used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function::&lt;&amp;str&gt;(const &quot;interesting?&quot;) -&gt; [return: bb8, unwind: bb11]
+5:11-12:2: @8[1]: _0 = const ()
+12:2-12:2: @9.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.yield/yield.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.yield/yield.main.-------.InstrumentCoverage.0.html
index 99e56393ea5..4c0c0d562b8 100644
--- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.yield/yield.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.yield/yield.main.-------.InstrumentCoverage.0.html
@@ -76,26 +76,26 @@ For revisions in Pull Requests (PR):
 <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">    match </span><span><span class="code even" style="--layer: 1" title="13:20-13:34: @0[7]: _5 = &amp;mut _1
-13:11-13:35: @0.Call: _4 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]&gt;::new(move _5) -&gt; [return: bb1, unwind: bb26]
+13:11-13:35: @0.Call: _4 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]&gt;::new(move _5) -&gt; [return: bb1, unwind: bb26]
 13:43-13:45: @1[2]: _6 = ()
-13:11-13:46: @1.Call: _3 = &lt;[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as Generator&gt;::resume(move _4, move _6) -&gt; [return: bb2, unwind: bb26]
+13:11-13:46: @1.Call: _3 = &lt;[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _4, move _6) -&gt; [return: bb2, unwind: bb26]
 13:11-13:46: @2[2]: FakeRead(ForMatchedPlace, _3)
 14:9-14:35: @2[3]: _7 = discriminant(_3)"><span class="annotation">@0,1,2⦊</span>Pin::new(&amp;mut generator).resume(()) {</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="13:20-13:34: @0[7]: _5 = &amp;mut _1
-13:11-13:35: @0.Call: _4 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]&gt;::new(move _5) -&gt; [return: bb1, unwind: bb26]
+13:11-13:35: @0.Call: _4 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]&gt;::new(move _5) -&gt; [return: bb1, unwind: bb26]
 13:43-13:45: @1[2]: _6 = ()
-13:11-13:46: @1.Call: _3 = &lt;[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as Generator&gt;::resume(move _4, move _6) -&gt; [return: bb2, unwind: bb26]
+13:11-13:46: @1.Call: _3 = &lt;[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _4, move _6) -&gt; [return: bb2, unwind: bb26]
 13:11-13:46: @2[2]: FakeRead(ForMatchedPlace, _3)
 14:9-14:35: @2[3]: _7 = discriminant(_3)">        GeneratorState::Yielded(1)<span class="annotation">⦉@0,1,2</span></span></span><span class="code" style="--layer: 0"> =&gt; </span><span><span class="code odd" style="--layer: 1" title="14:39-14:41: @6[0]: _2 = const ()"><span class="annotation">@4,6,7,8⦊</span>{}<span class="annotation">⦉@4,6,7,8</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="code even" style="--layer: 1" title="15:14-15:52: @5.Call: begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@5⦊</span>panic!("unexpected value from resume")<span class="annotation">⦉@5</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="code even" style="--layer: 1" title="15:14-15:52: @5.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@5⦊</span>panic!("unexpected value from resume")<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">    match </span><span><span class="code odd" style="--layer: 1" title="17:20-17:34: @6[7]: _12 = &amp;mut _1
-17:11-17:35: @6.Call: _11 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]&gt;::new(move _12) -&gt; [return: bb7, unwind: bb26]
+17:11-17:35: @6.Call: _11 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]&gt;::new(move _12) -&gt; [return: bb7, unwind: bb26]
 17:43-17:45: @7[2]: _13 = ()
-17:11-17:46: @7.Call: _10 = &lt;[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as Generator&gt;::resume(move _11, move _13) -&gt; [return: bb8, unwind: bb26]
+17:11-17:46: @7.Call: _10 = &lt;[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _11, move _13) -&gt; [return: bb8, unwind: bb26]
 17:11-17:46: @8[2]: FakeRead(ForMatchedPlace, _10)"><span class="annotation">@4,6,7,8⦊</span>Pin::new(&amp;mut generator).resume(())<span class="annotation">⦉@4,6,7,8</span></span></span><span class="code" style="--layer: 0"> {</span></span>
-<span class="line"><span class="code" style="--layer: 0">        GeneratorState::Complete(</span><span><span class="code even" style="--layer: 1" title="18:34-18:39: @10.Call: _14 = &lt;str as PartialEq&gt;::eq(((_10 as Complete).0: &amp;str), const &quot;foo&quot;) -&gt; [return: bb11, unwind: bb26]"><span class="annotation">@10,11⦊</span>"foo"<span class="annotation">⦉@10,11</span></span></span><span class="code" style="--layer: 0">) =&gt; </span><span><span class="code odd" style="--layer: 1" title="18:44-18:46: @13[0]: _9 = const ()"><span class="annotation">@12,13,14,15⦊</span>{}<span class="annotation">⦉@12,13,14,15</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="code even" style="--layer: 1" title="19:14-19:52: @9.Call: begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@9⦊</span>panic!("unexpected value from resume")<span class="annotation">⦉@9</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">        GeneratorState::Complete(</span><span><span class="code even" style="--layer: 1" title="18:34-18:39: @10.Call: _14 = &lt;str as std::cmp::PartialEq&gt;::eq(((_10 as Complete).0: &amp;str), const &quot;foo&quot;) -&gt; [return: bb11, unwind: bb26]"><span class="annotation">@10,11⦊</span>"foo"<span class="annotation">⦉@10,11</span></span></span><span class="code" style="--layer: 0">) =&gt; </span><span><span class="code odd" style="--layer: 1" title="18:44-18:46: @13[0]: _9 = const ()"><span class="annotation">@12,13,14,15⦊</span>{}<span class="annotation">⦉@12,13,14,15</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="code even" style="--layer: 1" title="19:14-19:52: @9.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@9⦊</span>panic!("unexpected value from resume")<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="line"><span class="code" style="--layer: 0">    let </span><span><span class="code odd" style="--layer: 1" title="22:9-22:22: @13[5]: FakeRead(ForLet, _17)"><span class="annotation">@12,13,14,15⦊</span>mut generator<span class="annotation">⦉@12,13,14,15</span></span></span><span class="code" style="--layer: 0"> = || {</span></span>
@@ -106,32 +106,32 @@ For revisions in Pull Requests (PR):
 <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">    match </span><span><span class="code odd" style="--layer: 1" title="29:20-29:34: @13[10]: _21 = &amp;mut _17
-29:11-29:35: @13.Call: _20 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _21) -&gt; [return: bb14, unwind: bb26]
+29:11-29:35: @13.Call: _20 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _21) -&gt; [return: bb14, unwind: bb26]
 29:43-29:45: @14[2]: _22 = ()
-29:11-29:46: @14.Call: _19 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as Generator&gt;::resume(move _20, move _22) -&gt; [return: bb15, unwind: bb26]
+29:11-29:46: @14.Call: _19 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _20, move _22) -&gt; [return: bb15, unwind: bb26]
 29:11-29:46: @15[2]: FakeRead(ForMatchedPlace, _19)
 30:9-30:35: @15[3]: _23 = discriminant(_19)"><span class="annotation">@12,13,14,15⦊</span>Pin::new(&amp;mut generator).resume(()) {</span></span>
 <span class="line"><span class="code odd" style="--layer: 1" title="29:20-29:34: @13[10]: _21 = &amp;mut _17
-29:11-29:35: @13.Call: _20 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _21) -&gt; [return: bb14, unwind: bb26]
+29:11-29:35: @13.Call: _20 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _21) -&gt; [return: bb14, unwind: bb26]
 29:43-29:45: @14[2]: _22 = ()
-29:11-29:46: @14.Call: _19 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as Generator&gt;::resume(move _20, move _22) -&gt; [return: bb15, unwind: bb26]
+29:11-29:46: @14.Call: _19 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _20, move _22) -&gt; [return: bb15, unwind: bb26]
 29:11-29:46: @15[2]: FakeRead(ForMatchedPlace, _19)
 30:9-30:35: @15[3]: _23 = discriminant(_19)">        GeneratorState::Yielded(1)<span class="annotation">⦉@12,13,14,15</span></span></span><span class="code" style="--layer: 0"> =&gt; </span><span><span class="code even" style="--layer: 1" title="30:39-30:41: @19[0]: _18 = const ()"><span class="annotation">@17,19,20,21⦊</span>{}<span class="annotation">⦉@17,19,20,21</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="code odd" style="--layer: 1" title="31:14-31:52: @18.Call: begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@18⦊</span>panic!("unexpected value from resume")<span class="annotation">⦉@18</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="code odd" style="--layer: 1" title="31:14-31:52: @18.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@18⦊</span>panic!("unexpected value from resume")<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">    match </span><span><span class="code even" style="--layer: 1" title="33:20-33:34: @19[6]: _27 = &amp;mut _17
-33:11-33:35: @19.Call: _26 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _27) -&gt; [return: bb20, unwind: bb26]
+33:11-33:35: @19.Call: _26 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _27) -&gt; [return: bb20, unwind: bb26]
 33:43-33:45: @20[2]: _28 = ()
-33:11-33:46: @20.Call: _25 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as Generator&gt;::resume(move _26, move _28) -&gt; [return: bb21, unwind: bb26]
+33:11-33:46: @20.Call: _25 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _26, move _28) -&gt; [return: bb21, unwind: bb26]
 33:11-33:46: @21[2]: FakeRead(ForMatchedPlace, _25)
 34:9-34:35: @21[3]: _29 = discriminant(_25)"><span class="annotation">@17,19,20,21⦊</span>Pin::new(&amp;mut generator).resume(()) {</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="33:20-33:34: @19[6]: _27 = &amp;mut _17
-33:11-33:35: @19.Call: _26 = Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _27) -&gt; [return: bb20, unwind: bb26]
+33:11-33:35: @19.Call: _26 = std::pin::Pin::&lt;&amp;mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]&gt;::new(move _27) -&gt; [return: bb20, unwind: bb26]
 33:43-33:45: @20[2]: _28 = ()
-33:11-33:46: @20.Call: _25 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as Generator&gt;::resume(move _26, move _28) -&gt; [return: bb21, unwind: bb26]
+33:11-33:46: @20.Call: _25 = &lt;[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as std::ops::Generator&gt;::resume(move _26, move _28) -&gt; [return: bb21, unwind: bb26]
 33:11-33:46: @21[2]: FakeRead(ForMatchedPlace, _25)
 34:9-34:35: @21[3]: _29 = discriminant(_25)">        GeneratorState::Yielded(2)<span class="annotation">⦉@17,19,20,21</span></span></span><span class="code" style="--layer: 0"> =&gt; </span><span><span class="code odd" style="--layer: 1" title="34:39-34:41: @25[0]: _0 = const ()"><span class="annotation">@23,25⦊</span>{}<span class="annotation">⦉@23,25</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="code even" style="--layer: 1" title="35:14-35:52: @24.Call: begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@24⦊</span>panic!("unexpected value from resume")<span class="annotation">⦉@24</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="code even" style="--layer: 1" title="35:14-35:52: @24.Call: std::rt::begin_panic::&lt;&amp;str&gt;(const &quot;unexpected value from resume&quot;) -&gt; bb26"><span class="annotation">@24⦊</span>panic!("unexpected value from resume")<span class="annotation">⦉@24</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="37:2-37:2: @25.Return: return"><span class="annotation">@23,25⦊</span>‸<span class="annotation">⦉@23,25</span></span></span></span></div>
 </body>
diff --git a/src/test/run-make-fulldeps/coverage/coverage_tools.mk b/src/test/run-make-fulldeps/coverage/coverage_tools.mk
index 4d340d4b1da..11fd824e527 100644
--- a/src/test/run-make-fulldeps/coverage/coverage_tools.mk
+++ b/src/test/run-make-fulldeps/coverage/coverage_tools.mk
@@ -14,10 +14,3 @@
 # Therefore, `-C link-dead-code` is no longer automatically enabled.
 
 UNAME = $(shell uname)
-
-# Rust option `-Z instrument-coverage` uses LLVM Coverage Mapping Format version 4,
-# which requires LLVM 11 or greater.
-LLVM_VERSION_11_PLUS := $(shell \
-		LLVM_VERSION=$$("$(LLVM_BIN_DIR)"/llvm-config --version) && \
-		LLVM_VERSION_MAJOR=$${LLVM_VERSION/.*/} && \
-		[ $$LLVM_VERSION_MAJOR -ge 11 ] && echo true || echo false)
diff --git a/src/test/run-make-fulldeps/split-debuginfo/Makefile b/src/test/run-make-fulldeps/split-debuginfo/Makefile
new file mode 100644
index 00000000000..e8e62efe01c
--- /dev/null
+++ b/src/test/run-make-fulldeps/split-debuginfo/Makefile
@@ -0,0 +1,59 @@
+-include ../tools.mk
+
+all: off packed unpacked
+
+ifeq ($(UNAME),Darwin)
+# If disabled, don't run dsymutil
+off:
+	rm -rf $(TMPDIR)/*.dSYM
+	$(RUSTC) foo.rs -g -C split-debuginfo=off
+	[ ! -d $(TMPDIR)/foo.dSYM ]
+
+# Packed by default, but only if debuginfo is requested
+packed:
+	rm -rf $(TMPDIR)/*.dSYM
+	$(RUSTC) foo.rs
+	[ ! -d $(TMPDIR)/foo.dSYM ]
+	rm -rf $(TMPDIR)/*.dSYM
+	$(RUSTC) foo.rs -g
+	[ -d $(TMPDIR)/foo.dSYM ]
+	rm -rf $(TMPDIR)/*.dSYM
+	$(RUSTC) foo.rs -g -C split-debuginfo=packed
+	[ -d $(TMPDIR)/foo.dSYM ]
+	rm -rf $(TMPDIR)/*.dSYM
+
+# Object files are preserved with unpacked and `dsymutil` isn't run
+unpacked:
+	$(RUSTC) foo.rs -g -C split-debuginfo=unpacked
+	ls $(TMPDIR)/*.o
+	[ ! -d $(TMPDIR)/foo.dSYM ]
+else
+ifdef IS_WINDOWS
+# Windows only supports =off
+off:
+packed:
+unpacked:
+else
+# If disabled, don't run dsymutil
+off:
+	$(RUSTC) foo.rs -g -C split-debuginfo=off -Z unstable-options
+	[ ! -f $(TMPDIR)/*.dwp ]
+	[ ! -f $(TMPDIR)/*.dwo ]
+
+	$(RUSTC) foo.rs -g
+	[ ! -f $(TMPDIR)/*.dwp ]
+	[ ! -f $(TMPDIR)/*.dwo ]
+
+packed:
+	$(RUSTC) foo.rs -g -C split-debuginfo=packed -Z unstable-options
+	ls $(TMPDIR)/*.dwp
+	ls $(TMPDIR)/*.dwo && exit 1 || exit 0
+	rm -rf $(TMPDIR)/*.dwp
+
+unpacked:
+	$(RUSTC) foo.rs -g -C split-debuginfo=unpacked -Z unstable-options
+	ls $(TMPDIR)/*.dwp && exit 1 || exit 0
+	ls $(TMPDIR)/*.dwo
+	rm -rf $(TMPDIR)/*.dwo
+endif
+endif
diff --git a/src/test/run-make-fulldeps/split-debuginfo/foo.rs b/src/test/run-make-fulldeps/split-debuginfo/foo.rs
new file mode 100644
index 00000000000..f328e4d9d04
--- /dev/null
+++ b/src/test/run-make-fulldeps/split-debuginfo/foo.rs
@@ -0,0 +1 @@
+fn main() {}
diff --git a/src/test/run-make-fulldeps/split-dwarf/Makefile b/src/test/run-make-fulldeps/split-dwarf/Makefile
index e1a78e2edfc..93dfc8e76a9 100644
--- a/src/test/run-make-fulldeps/split-dwarf/Makefile
+++ b/src/test/run-make-fulldeps/split-dwarf/Makefile
@@ -3,6 +3,6 @@
 # only-linux
 
 all:
-	$(RUSTC) -Z split-dwarf=split foo.rs
+	$(RUSTC) -Z unstable-options -C split-debuginfo=packed foo.rs -g
 	rm $(TMPDIR)/foo.dwp
 	rm $(TMPDIR)/$(call BIN,foo)
diff --git a/src/test/rustdoc-js-std/primitive.js b/src/test/rustdoc-js-std/primitive.js
new file mode 100644
index 00000000000..e5690383e4f
--- /dev/null
+++ b/src/test/rustdoc-js-std/primitive.js
@@ -0,0 +1,75 @@
+const QUERY = [
+    'i8',
+    'u32',
+    'str',
+    'char',
+    'unit',
+    'tuple',
+    'fn',
+];
+
+const EXPECTED = [
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'i8',
+                'href': '../std/primitive.i8.html',
+            },
+        ]
+    },
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'u32',
+                'href': '../std/primitive.u32.html',
+            },
+        ]
+    },
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'str',
+                'href': '../std/primitive.str.html',
+            },
+        ]
+    },
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'char',
+                'href': '../std/primitive.char.html',
+            },
+        ]
+    },
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'unit',
+                'href': '../std/primitive.unit.html',
+            },
+        ]
+    },
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'tuple',
+                'href': '../std/primitive.tuple.html',
+            },
+        ]
+    },
+    {
+        'others': [
+            {
+                'path': 'std',
+                'name': 'fn',
+                'href': '../std/primitive.fn.html',
+            },
+        ]
+    },
+];
diff --git a/src/test/rustdoc-js/primitive.js b/src/test/rustdoc-js/primitive.js
new file mode 100644
index 00000000000..918f7099918
--- /dev/null
+++ b/src/test/rustdoc-js/primitive.js
@@ -0,0 +1,25 @@
+// exact-check
+
+const QUERY = [
+    "i32",
+    "str",
+    "TotoIsSomewhere",
+];
+
+const EXPECTED = [
+    {
+        'in_args': [
+            { 'path': 'primitive', 'name': 'foo' },
+        ],
+    },
+    {
+        'returned': [
+            { 'path': 'primitive', 'name': 'foo' },
+        ],
+    },
+    {
+        'others': [],
+        'in_args': [],
+        'returned': [],
+    },
+];
diff --git a/src/test/rustdoc-js/primitive.rs b/src/test/rustdoc-js/primitive.rs
new file mode 100644
index 00000000000..2b30ccf1520
--- /dev/null
+++ b/src/test/rustdoc-js/primitive.rs
@@ -0,0 +1,5 @@
+pub fn foo(i: i32) -> &'static str {
+    "hello"
+}
+
+pub fn foo2<TotoIsSomewhere>(i: &TotoIsSomewhere, j: TotoIsSomewhere) {}
diff --git a/src/test/rustdoc-json/check_missing_items.py b/src/test/rustdoc-json/check_missing_items.py
deleted file mode 100644
index 3a3bf7fa3ed..00000000000
--- a/src/test/rustdoc-json/check_missing_items.py
+++ /dev/null
@@ -1,187 +0,0 @@
-#!/usr/bin/env python
-
-# This test ensures that every ID in the produced json actually resolves to an item either in
-# `index` or `paths`. It DOES NOT check that the structure of the produced json is actually in
-# any way correct, for example an empty map would pass.
-
-import sys
-import json
-
-crate = json.load(open(sys.argv[1]))
-
-
-def get_local_item(item_id):
-    if item_id in crate["index"]:
-        return crate["index"][item_id]
-    print("Missing local ID:", item_id)
-    sys.exit(1)
-
-
-# local IDs have to be in `index`, external ones can sometimes be in `index` but otherwise have
-# to be in `paths`
-def valid_id(item_id):
-    return item_id in crate["index"] or item_id[0] != "0" and item_id in crate["paths"]
-
-
-def check_generics(generics):
-    for param in generics["params"]:
-        check_generic_param(param)
-    for where_predicate in generics["where_predicates"]:
-        if "bound_predicate" in where_predicate:
-            pred = where_predicate["bound_predicate"]
-            check_type(pred["ty"])
-            for bound in pred["bounds"]:
-                check_generic_bound(bound)
-        elif "region_predicate" in where_predicate:
-            pred = where_predicate["region_predicate"]
-            for bound in pred["bounds"]:
-                check_generic_bound(bound)
-        elif "eq_predicate" in where_predicate:
-            pred = where_predicate["eq_predicate"]
-            check_type(pred["rhs"])
-            check_type(pred["lhs"])
-
-
-def check_generic_param(param):
-    if "type" in param["kind"]:
-        ty = param["kind"]["type"]
-        if ty["default"]:
-            check_type(ty["default"])
-        for bound in ty["bounds"]:
-            check_generic_bound(bound)
-    elif "const" in param["kind"]:
-        check_type(param["kind"]["const"])
-
-
-def check_generic_bound(bound):
-    if "trait_bound" in bound:
-        for param in bound["trait_bound"]["generic_params"]:
-            check_generic_param(param)
-        check_type(bound["trait_bound"]["trait"])
-
-
-def check_decl(decl):
-    for (_name, ty) in decl["inputs"]:
-        check_type(ty)
-    if decl["output"]:
-        check_type(decl["output"])
-
-
-def check_type(ty):
-    if ty["kind"] == "resolved_path":
-        for bound in ty["inner"]["param_names"]:
-            check_generic_bound(bound)
-        args = ty["inner"]["args"]
-        if args:
-            if "angle_bracketed" in args:
-                for arg in args["angle_bracketed"]["args"]:
-                    if "type" in arg:
-                        check_type(arg["type"])
-                    elif "const" in arg:
-                        check_type(arg["const"]["type"])
-                for binding in args["angle_bracketed"]["bindings"]:
-                    if "equality" in binding["binding"]:
-                        check_type(binding["binding"]["equality"])
-                    elif "constraint" in binding["binding"]:
-                        for bound in binding["binding"]["constraint"]:
-                            check_generic_bound(bound)
-            elif "parenthesized" in args:
-                for ty in args["parenthesized"]["inputs"]:
-                    check_type(ty)
-                if args["parenthesized"]["output"]:
-                    check_type(args["parenthesized"]["output"])
-        if not valid_id(ty["inner"]["id"]):
-            print("Type contained an invalid ID:", ty["inner"]["id"])
-            sys.exit(1)
-    elif ty["kind"] == "tuple":
-        for ty in ty["inner"]:
-            check_type(ty)
-    elif ty["kind"] == "slice":
-        check_type(ty["inner"])
-    elif ty["kind"] == "impl_trait":
-        for bound in ty["inner"]:
-            check_generic_bound(bound)
-    elif ty["kind"] in ("raw_pointer", "borrowed_ref", "array"):
-        check_type(ty["inner"]["type"])
-    elif ty["kind"] == "function_pointer":
-        for param in ty["inner"]["generic_params"]:
-            check_generic_param(param)
-        check_decl(ty["inner"]["inner"])
-    elif ty["kind"] == "qualified_path":
-        check_type(ty["inner"]["self_type"])
-        check_type(ty["inner"]["trait"])
-
-
-work_list = set([crate["root"]])
-visited = work_list.copy()
-
-while work_list:
-    current = work_list.pop()
-    visited.add(current)
-    item = get_local_item(current)
-    # check intradoc links
-    for (_name, link) in item["links"].items():
-        if not valid_id(link):
-            print("Intra-doc link contains invalid ID:", link)
-
-    # check all fields that reference types such as generics as well as nested items
-    # (modules, structs, traits, and enums)
-    if item["kind"] == "module":
-        work_list |= set(item["inner"]["items"]) - visited
-    elif item["kind"] == "struct":
-        check_generics(item["inner"]["generics"])
-        work_list |= (
-            set(item["inner"]["fields"]) | set(item["inner"]["impls"])
-        ) - visited
-    elif item["kind"] == "struct_field":
-        check_type(item["inner"])
-    elif item["kind"] == "enum":
-        check_generics(item["inner"]["generics"])
-        work_list |= (
-            set(item["inner"]["variants"]) | set(item["inner"]["impls"])
-        ) - visited
-    elif item["kind"] == "variant":
-        if item["inner"]["variant_kind"] == "tuple":
-            for ty in item["inner"]["variant_inner"]:
-                check_type(ty)
-        elif item["inner"]["variant_kind"] == "struct":
-            work_list |= set(item["inner"]["variant_inner"]) - visited
-    elif item["kind"] in ("function", "method"):
-        check_generics(item["inner"]["generics"])
-        check_decl(item["inner"]["decl"])
-    elif item["kind"] in ("static", "constant", "assoc_const"):
-        check_type(item["inner"]["type"])
-    elif item["kind"] == "typedef":
-        check_type(item["inner"]["type"])
-        check_generics(item["inner"]["generics"])
-    elif item["kind"] == "opaque_ty":
-        check_generics(item["inner"]["generics"])
-        for bound in item["inner"]["bounds"]:
-            check_generic_bound(bound)
-    elif item["kind"] == "trait_alias":
-        check_generics(item["inner"]["params"])
-        for bound in item["inner"]["bounds"]:
-            check_generic_bound(bound)
-    elif item["kind"] == "trait":
-        check_generics(item["inner"]["generics"])
-        for bound in item["inner"]["bounds"]:
-            check_generic_bound(bound)
-        work_list |= (
-            set(item["inner"]["items"]) | set(item["inner"]["implementors"])
-        ) - visited
-    elif item["kind"] == "impl":
-        check_generics(item["inner"]["generics"])
-        if item["inner"]["trait"]:
-            check_type(item["inner"]["trait"])
-        if item["inner"]["blanket_impl"]:
-            check_type(item["inner"]["blanket_impl"])
-        check_type(item["inner"]["for"])
-        for assoc_item in item["inner"]["items"]:
-            if not valid_id(assoc_item):
-                print("Impl block referenced a missing ID:", assoc_item)
-                sys.exit(1)
-    elif item["kind"] == "assoc_type":
-        for bound in item["inner"]["bounds"]:
-            check_generic_bound(bound)
-        if item["inner"]["default"]:
-            check_type(item["inner"]["default"])
diff --git a/src/test/rustdoc-json/compare.py b/src/test/rustdoc-json/compare.py
deleted file mode 100644
index 6a921266336..00000000000
--- a/src/test/rustdoc-json/compare.py
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/usr/bin/env python
-
-# This script can check that an expected json blob is a subset of what actually gets produced.
-# The comparison is independent of the value of IDs (which are unstable) and instead uses their
-# relative ordering to check them against eachother by looking them up in their respective blob's
-# `index` or `paths` mappings. To add a new test run `rustdoc --output-format json -o . yourtest.rs`
-# and then create `yourtest.expected` by stripping unnecessary details from `yourtest.json`. If
-# you're on windows, replace `\` with `/`.
-
-# WARNING: The error messages produced by this may be misleading, in the case of list re-ordering
-#          it may point to apparently unrelated keys.
-
-import copy
-import sys
-import json
-import types
-
-# Used instead of the string ids when used as references.
-# Not used as keys in `index` or `paths`
-class ID(str):
-    pass
-
-
-class SubsetException(Exception):
-    def __init__(self, msg, trace):
-        self.msg = msg
-        self.trace = msg
-        super().__init__("{}: {}".format(trace, msg))
-
-
-def check_subset(expected_main, actual_main, base_dir):
-    expected_index = expected_main["index"]
-    expected_paths = expected_main["paths"]
-    actual_index = actual_main["index"]
-    actual_paths = actual_main["paths"]
-    already_checked = set()
-
-    def _check_subset(expected, actual, trace):
-        expected_type = type(expected)
-        actual_type = type(actual)
-
-        if actual_type is str:
-            actual = normalize(actual).replace(base_dir, "$TEST_BASE_DIR")
-
-        if expected_type is not actual_type:
-            raise SubsetException(
-                "expected type `{}`, got `{}`".format(expected_type, actual_type), trace
-            )
-
-
-        if expected_type in (int, bool, str) and expected != actual:
-            raise SubsetException("expected `{}`, got: `{}`".format(expected, actual), trace)
-        if expected_type is dict:
-            for key in expected:
-                if key not in actual:
-                    raise SubsetException(
-                        "Key `{}` not found in output".format(key), trace
-                    )
-                new_trace = copy.deepcopy(trace)
-                new_trace.append(key)
-                _check_subset(expected[key], actual[key], new_trace)
-        elif expected_type is list:
-            expected_elements = len(expected)
-            actual_elements = len(actual)
-            if expected_elements != actual_elements:
-                raise SubsetException(
-                    "Found {} items, expected {}".format(
-                        expected_elements, actual_elements
-                    ),
-                    trace,
-                )
-            for expected, actual in zip(expected, actual):
-                new_trace = copy.deepcopy(trace)
-                new_trace.append(expected)
-                _check_subset(expected, actual, new_trace)
-        elif expected_type is ID and expected not in already_checked:
-            already_checked.add(expected)
-            _check_subset(
-                expected_index.get(expected, {}), actual_index.get(actual, {}), trace
-            )
-            _check_subset(
-                expected_paths.get(expected, {}), actual_paths.get(actual, {}), trace
-            )
-
-    _check_subset(expected_main["root"], actual_main["root"], [])
-
-
-def rustdoc_object_hook(obj):
-    # No need to convert paths, index and external_crates keys to ids, since
-    # they are the target of resolution, and never a source itself.
-    if "id" in obj and obj["id"]:
-        obj["id"] = ID(obj["id"])
-    if "root" in obj:
-        obj["root"] = ID(obj["root"])
-    if "items" in obj:
-        obj["items"] = [ID(id) for id in obj["items"]]
-    if "variants" in obj:
-        obj["variants"] = [ID(id) for id in obj["variants"]]
-    if "fields" in obj:
-        obj["fields"] = [ID(id) for id in obj["fields"]]
-    if "impls" in obj:
-        obj["impls"] = [ID(id) for id in obj["impls"]]
-    if "implementors" in obj:
-        obj["implementors"] = [ID(id) for id in obj["implementors"]]
-    if "links" in obj:
-        obj["links"] = {s: ID(id) for s, id in obj["links"]}
-    if "variant_kind" in obj and obj["variant_kind"] == "struct":
-        obj["variant_inner"] = [ID(id) for id in obj["variant_inner"]]
-    return obj
-
-
-def main(expected_fpath, actual_fpath, base_dir):
-    print(
-        "checking that {} is a logical subset of {}".format(
-            expected_fpath, actual_fpath
-        )
-    )
-    with open(expected_fpath) as expected_file:
-        expected_main = json.load(expected_file, object_hook=rustdoc_object_hook)
-    with open(actual_fpath) as actual_file:
-        actual_main = json.load(actual_file, object_hook=rustdoc_object_hook)
-    check_subset(expected_main, actual_main, base_dir)
-    print("all checks passed")
-
-def normalize(s):
-    return s.replace('\\', '/')
-
-if __name__ == "__main__":
-    if len(sys.argv) < 4:
-        print("Usage: `compare.py expected.json actual.json test-dir`")
-    else:
-        main(sys.argv[1], sys.argv[2], normalize(sys.argv[3]))
diff --git a/src/test/rustdoc-json/method_abi.rs b/src/test/rustdoc-json/method_abi.rs
new file mode 100644
index 00000000000..6fabbc83611
--- /dev/null
+++ b/src/test/rustdoc-json/method_abi.rs
@@ -0,0 +1,25 @@
+// @has method_abi.json "$.index[*][?(@.name=='Foo')]"
+pub struct Foo;
+
+impl Foo {
+    // @has - "$.index[*][?(@.name=='abi_rust')].inner.abi" '"\"Rust\""'
+    pub fn abi_rust() {}
+
+    // @has - "$.index[*][?(@.name=='abi_c')].inner.abi" '"\"C\""'
+    pub extern "C" fn abi_c() {}
+
+    // @has - "$.index[*][?(@.name=='abi_system')].inner.abi" '"\"system\""'
+    pub extern "system" fn abi_system() {}
+}
+
+// @has method_abi.json "$.index[*][?(@.name=='Bar')]"
+pub trait Bar {
+    // @has - "$.index[*][?(@.name=='trait_abi_rust')].inner.abi" '"\"Rust\""'
+    fn trait_abi_rust();
+
+    // @has - "$.index[*][?(@.name=='trait_abi_c')].inner.abi" '"\"C\""'
+    extern "C" fn trait_abi_c();
+
+    // @has - "$.index[*][?(@.name=='trait_abi_system')].inner.abi" '"\"system\""'
+    extern "system" fn trait_abi_system();
+}
diff --git a/src/test/rustdoc-json/nested.expected b/src/test/rustdoc-json/nested.expected
deleted file mode 100644
index 80070e75f1e..00000000000
--- a/src/test/rustdoc-json/nested.expected
+++ /dev/null
@@ -1,196 +0,0 @@
-{
-  "crate_version": null,
-  "external_crates": {},
-  "format_version": 1,
-  "includes_private": false,
-  "index": {
-    "0:0": {
-      "attrs": [],
-      "crate_id": 0,
-      "deprecation": null,
-      "docs": "",
-      "id": "0:0",
-      "inner": {
-        "is_crate": true,
-        "items": [
-          "0:3"
-        ]
-      },
-      "kind": "module",
-      "links": {},
-      "name": "nested",
-      "source": {
-        "begin": [
-          2,
-          0
-        ],
-        "end": [
-          7,
-          1
-        ],
-        "filename": "$TEST_BASE_DIR/nested.rs"
-      },
-      "visibility": "public"
-    },
-    "0:3": {
-      "attrs": [],
-      "crate_id": 0,
-      "deprecation": null,
-      "docs": "",
-      "id": "0:3",
-      "inner": {
-        "is_crate": false,
-        "items": [
-          "0:4",
-          "0:7"
-        ]
-      },
-      "kind": "module",
-      "links": {},
-      "name": "l1",
-      "source": {
-        "begin": [
-          2,
-          0
-        ],
-        "end": [
-          7,
-          1
-        ],
-        "filename": "$TEST_BASE_DIR/nested.rs"
-      },
-      "visibility": "public"
-    },
-    "0:4": {
-      "attrs": [],
-      "crate_id": 0,
-      "deprecation": null,
-      "docs": "",
-      "id": "0:4",
-      "inner": {
-        "is_crate": false,
-        "items": [
-          "0:5"
-        ]
-      },
-      "kind": "module",
-      "links": {},
-      "name": "l3",
-      "source": {
-        "begin": [
-          3,
-          4
-        ],
-        "end": [
-          5,
-          5
-        ],
-        "filename": "$TEST_BASE_DIR/nested.rs"
-      },
-      "visibility": "public"
-    },
-    "0:5": {
-      "attrs": [],
-      "crate_id": 0,
-      "deprecation": null,
-      "docs": "",
-      "id": "0:5",
-      "inner": {
-        "fields": [],
-        "fields_stripped": false,
-        "generics": {
-          "params": [],
-          "where_predicates": []
-        },
-        "impls": [
-          "0:10",
-          "0:11",
-          "0:12",
-          "0:14",
-          "0:15"
-        ],
-        "struct_type": "unit"
-      },
-      "kind": "struct",
-      "links": {},
-      "name": "L4",
-      "source": {
-        "begin": [
-          4,
-          8
-        ],
-        "end": [
-          4,
-          22
-        ],
-        "filename": "$TEST_BASE_DIR/nested.rs"
-      },
-      "visibility": "public"
-    },
-    "0:7": {
-      "attrs": [],
-      "crate_id": 0,
-      "deprecation": null,
-      "docs": "",
-      "id": "0:7",
-      "inner": {
-        "glob": false,
-        "id": "0:5",
-        "name": "L4",
-        "span": "l3::L4"
-      },
-      "kind": "import",
-      "links": {},
-      "name": null,
-      "source": {
-        "begin": [
-          6,
-          4
-        ],
-        "end": [
-          6,
-          19
-        ],
-        "filename": "$TEST_BASE_DIR/nested.rs"
-      },
-      "visibility": "public"
-    }
-  },
-  "paths": {
-    "0:0": {
-      "crate_id": 0,
-      "kind": "module",
-      "path": [
-        "nested"
-      ]
-    },
-    "0:3": {
-      "crate_id": 0,
-      "kind": "module",
-      "path": [
-        "nested",
-        "l1"
-      ]
-    },
-    "0:4": {
-      "crate_id": 0,
-      "kind": "module",
-      "path": [
-        "nested",
-        "l1",
-        "l3"
-      ]
-    },
-    "0:5": {
-      "crate_id": 0,
-      "kind": "struct",
-      "path": [
-        "nested",
-        "l1",
-        "l3",
-        "L4"
-      ]
-    }
-  },
-  "root": "0:0"
-}
\ No newline at end of file
diff --git a/src/test/rustdoc-json/nested.rs b/src/test/rustdoc-json/nested.rs
index e460b343d37..7e705255d98 100644
--- a/src/test/rustdoc-json/nested.rs
+++ b/src/test/rustdoc-json/nested.rs
@@ -1,7 +1,24 @@
 // edition:2018
+
+// @has nested.json "$.index[*][?(@.name=='nested')].kind" \"module\"
+// @has - "$.index[*][?(@.name=='nested')].inner.is_crate" true
+// @count - "$.index[*][?(@.name=='nested')].inner.items[*]" 1
+
+// @has nested.json "$.index[*][?(@.name=='l1')].kind" \"module\"
+// @has - "$.index[*][?(@.name=='l1')].inner.is_crate" false
+// @count - "$.index[*][?(@.name=='l1')].inner.items[*]" 2
 pub mod l1 {
+
+    // @has nested.json "$.index[*][?(@.name=='l3')].kind" \"module\"
+    // @has - "$.index[*][?(@.name=='l3')].inner.is_crate" false
+    // @count - "$.index[*][?(@.name=='l3')].inner.items[*]" 1
     pub mod l3 {
+
+        // @has nested.json "$.index[*][?(@.name=='L4')].kind" \"struct\"
+        // @has - "$.index[*][?(@.name=='L4')].inner.struct_type" \"unit\"
         pub struct L4;
     }
+    // @has nested.json "$.index[*][?(@.inner.span=='l3::L4')].kind" \"import\"
+    // @has - "$.index[*][?(@.inner.span=='l3::L4')].inner.glob" false
     pub use l3::L4;
 }
diff --git a/src/test/rustdoc-json/structs.expected b/src/test/rustdoc-json/structs.expected
deleted file mode 100644
index 799829de3fd..00000000000
--- a/src/test/rustdoc-json/structs.expected
+++ /dev/null
@@ -1,456 +0,0 @@
-{
-  "root": "0:0",
-  "version": null,
-  "includes_private": false,
-  "index": {
-    "0:9": {
-      "crate_id": 0,
-      "name": "Unit",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          7,
-          0
-        ],
-        "end": [
-          7,
-          16
-        ]
-      },
-      "visibility": "public",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct",
-      "inner": {
-        "struct_type": "unit",
-        "generics": {
-          "params": [],
-          "where_predicates": []
-        },
-        "fields_stripped": false,
-        "fields": []
-      }
-    },
-    "0:8": {
-      "crate_id": 0,
-      "name": "1",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          5,
-          22
-        ],
-        "end": [
-          5,
-          28
-        ]
-      },
-      "visibility": "default",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct_field",
-      "inner": {
-        "kind": "resolved_path",
-        "inner": {
-          "name": "String",
-          "id": "5:5035",
-          "args": {
-            "angle_bracketed": {
-              "args": [],
-              "bindings": []
-            }
-          },
-          "param_names": []
-        }
-      }
-    },
-    "0:18": {
-      "crate_id": 0,
-      "name": "stuff",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          15,
-          4
-        ],
-        "end": [
-          15,
-          17
-        ]
-      },
-      "visibility": "default",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct_field",
-      "inner": {
-        "kind": "resolved_path",
-        "inner": {
-          "name": "Vec",
-          "id": "5:4322",
-          "args": {
-            "angle_bracketed": {
-              "args": [
-                {
-                  "type": {
-                    "kind": "generic",
-                    "inner": "T"
-                  }
-                }
-              ],
-              "bindings": []
-            }
-          },
-          "param_names": []
-        }
-      }
-    },
-    "0:11": {
-      "crate_id": 0,
-      "name": "WithPrimitives",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          9,
-          0
-        ],
-        "end": [
-          12,
-          1
-        ]
-      },
-      "visibility": "public",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct",
-      "inner": {
-        "struct_type": "plain",
-        "generics": {
-          "params": [
-            {
-              "name": "'a",
-              "kind": "lifetime"
-            }
-          ],
-          "where_predicates": []
-        },
-        "fields_stripped": true
-      }
-    },
-    "0:14": {
-      "crate_id": 0,
-      "name": "s",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          11,
-          4
-        ],
-        "end": [
-          11,
-          14
-        ]
-      },
-      "visibility": "default",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct_field",
-      "inner": {
-        "kind": "borrowed_ref",
-        "inner": {
-          "lifetime": "'a",
-          "mutable": false,
-          "type": {
-            "kind": "primitive",
-            "inner": "str"
-          }
-        }
-      }
-    },
-    "0:19": {
-      "crate_id": 0,
-      "name": "things",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          16,
-          4
-        ],
-        "end": [
-          16,
-          25
-        ]
-      },
-      "visibility": "default",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct_field",
-      "inner": {
-        "kind": "resolved_path",
-        "inner": {
-          "name": "HashMap",
-          "id": "1:6600",
-          "args": {
-            "angle_bracketed": {
-              "args": [
-                {
-                  "type": {
-                    "kind": "generic",
-                    "inner": "U"
-                  }
-                },
-                {
-                  "type": {
-                    "kind": "generic",
-                    "inner": "U"
-                  }
-                }
-              ],
-              "bindings": []
-            }
-          },
-          "param_names": []
-        }
-      }
-    },
-    "0:15": {
-      "crate_id": 0,
-      "name": "WithGenerics",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          14,
-          0
-        ],
-        "end": [
-          17,
-          1
-        ]
-      },
-      "visibility": "public",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct",
-      "inner": {
-        "struct_type": "plain",
-        "generics": {
-          "params": [
-            {
-              "name": "T",
-              "kind": {
-                "type": {
-                  "bounds": [],
-                  "default": null
-                }
-              }
-            },
-            {
-              "name": "U",
-              "kind": {
-                "type": {
-                  "bounds": [],
-                  "default": null
-                }
-              }
-            }
-          ],
-          "where_predicates": []
-        },
-        "fields_stripped": true
-      }
-    },
-    "0:0": {
-      "crate_id": 0,
-      "name": "structs",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          1,
-          0
-        ],
-        "end": [
-          17,
-          1
-        ]
-      },
-      "visibility": "public",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "module",
-      "inner": {
-        "is_crate": true,
-        "items": [
-          "0:4",
-          "0:5",
-          "0:9",
-          "0:11",
-          "0:15"
-        ]
-      }
-    },
-    "0:13": {
-      "crate_id": 0,
-      "name": "num",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          10,
-          4
-        ],
-        "end": [
-          10,
-          12
-        ]
-      },
-      "visibility": "default",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct_field",
-      "inner": {
-        "kind": "primitive",
-        "inner": "u32"
-      }
-    },
-    "0:5": {
-      "crate_id": 0,
-      "name": "Tuple",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          5,
-          0
-        ],
-        "end": [
-          5,
-          30
-        ]
-      },
-      "visibility": "public",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct",
-      "inner": {
-        "struct_type": "tuple",
-        "generics": {
-          "params": [],
-          "where_predicates": []
-        },
-        "fields_stripped": true
-      }
-    },
-    "0:4": {
-      "crate_id": 0,
-      "name": "PlainEmpty",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          3,
-          0
-        ],
-        "end": [
-          3,
-          24
-        ]
-      },
-      "visibility": "public",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct",
-      "inner": {
-        "struct_type": "plain",
-        "generics": {
-          "params": [],
-          "where_predicates": []
-        },
-        "fields_stripped": false,
-        "fields": []
-      }
-    },
-    "0:7": {
-      "crate_id": 0,
-      "name": "0",
-      "source": {
-        "filename": "$TEST_BASE_DIR/structs.rs",
-        "begin": [
-          5,
-          17
-        ],
-        "end": [
-          5,
-          20
-        ]
-      },
-      "visibility": "default",
-      "docs": "",
-      "links": {},
-      "attrs": [],
-      "deprecation": null,
-      "kind": "struct_field",
-      "inner": {
-        "kind": "primitive",
-        "inner": "u32"
-      }
-    }
-  },
-  "paths": {
-    "5:4322": {
-      "crate_id": 5,
-      "path": [
-        "alloc",
-        "vec",
-        "Vec"
-      ],
-      "kind": "struct"
-    },
-    "5:5035": {
-      "crate_id": 5,
-      "path": [
-        "alloc",
-        "string",
-        "String"
-      ],
-      "kind": "struct"
-    },
-    "1:6600": {
-      "crate_id": 1,
-      "path": [
-        "std",
-        "collections",
-        "hash",
-        "map",
-        "HashMap"
-      ],
-      "kind": "struct"
-    }
-  },
-  "external_crates": {
-    "1": {
-      "name": "std"
-    },
-    "5": {
-      "name": "alloc"
-    }
-  },
-  "format_version": 1
-}
diff --git a/src/test/rustdoc-json/structs.rs b/src/test/rustdoc-json/structs.rs
deleted file mode 100644
index 43fc4743503..00000000000
--- a/src/test/rustdoc-json/structs.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-use std::collections::HashMap;
-
-pub struct PlainEmpty {}
-
-pub struct Tuple(u32, String);
-
-pub struct Unit;
-
-pub struct WithPrimitives<'a> {
-    num: u32,
-    s: &'a str,
-}
-
-pub struct WithGenerics<T, U> {
-    stuff: Vec<T>,
-    things: HashMap<U, U>,
-}
diff --git a/src/test/rustdoc-json/structs/plain_empty.rs b/src/test/rustdoc-json/structs/plain_empty.rs
new file mode 100644
index 00000000000..a251caf4ba9
--- /dev/null
+++ b/src/test/rustdoc-json/structs/plain_empty.rs
@@ -0,0 +1,6 @@
+// @has plain_empty.json "$.index[*][?(@.name=='PlainEmpty')].visibility" \"public\"
+// @has - "$.index[*][?(@.name=='PlainEmpty')].kind" \"struct\"
+// @has - "$.index[*][?(@.name=='PlainEmpty')].inner.struct_type" \"plain\"
+// @has - "$.index[*][?(@.name=='PlainEmpty')].inner.fields_stripped" false
+// @has - "$.index[*][?(@.name=='PlainEmpty')].inner.fields" []
+pub struct PlainEmpty {}
diff --git a/src/test/rustdoc-json/structs/tuple.rs b/src/test/rustdoc-json/structs/tuple.rs
new file mode 100644
index 00000000000..4e510b39825
--- /dev/null
+++ b/src/test/rustdoc-json/structs/tuple.rs
@@ -0,0 +1,5 @@
+// @has tuple.json "$.index[*][?(@.name=='Tuple')].visibility" \"public\"
+// @has - "$.index[*][?(@.name=='Tuple')].kind" \"struct\"
+// @has - "$.index[*][?(@.name=='Tuple')].inner.struct_type" \"tuple\"
+// @has - "$.index[*][?(@.name=='Tuple')].inner.fields_stripped" true
+pub struct Tuple(u32, String);
diff --git a/src/test/rustdoc-json/structs/unit.rs b/src/test/rustdoc-json/structs/unit.rs
new file mode 100644
index 00000000000..559d3068de6
--- /dev/null
+++ b/src/test/rustdoc-json/structs/unit.rs
@@ -0,0 +1,5 @@
+// @has unit.json "$.index[*][?(@.name=='Unit')].visibility" \"public\"
+// @has - "$.index[*][?(@.name=='Unit')].kind" \"struct\"
+// @has - "$.index[*][?(@.name=='Unit')].inner.struct_type" \"unit\"
+// @has - "$.index[*][?(@.name=='Unit')].inner.fields" []
+pub struct Unit;
diff --git a/src/test/rustdoc-json/structs/with_generics.rs b/src/test/rustdoc-json/structs/with_generics.rs
new file mode 100644
index 00000000000..65cfe7effa5
--- /dev/null
+++ b/src/test/rustdoc-json/structs/with_generics.rs
@@ -0,0 +1,14 @@
+use std::collections::HashMap;
+
+// @has with_generics.json "$.index[*][?(@.name=='WithGenerics')].visibility" \"public\"
+// @has - "$.index[*][?(@.name=='WithGenerics')].kind" \"struct\"
+// @has - "$.index[*][?(@.name=='WithGenerics')].inner.generics.params[0].name" \"T\"
+// @has - "$.index[*][?(@.name=='WithGenerics')].inner.generics.params[0].kind.type"
+// @has - "$.index[*][?(@.name=='WithGenerics')].inner.generics.params[1].name" \"U\"
+// @has - "$.index[*][?(@.name=='WithGenerics')].inner.generics.params[1].kind.type"
+// @has - "$.index[*][?(@.name=='WithGenerics')].inner.struct_type" \"plain\"
+// @has - "$.index[*][?(@.name=='WithGenerics')].inner.fields_stripped" true
+pub struct WithGenerics<T, U> {
+    stuff: Vec<T>,
+    things: HashMap<U, U>,
+}
diff --git a/src/test/rustdoc-json/structs/with_primitives.rs b/src/test/rustdoc-json/structs/with_primitives.rs
new file mode 100644
index 00000000000..ea98676863b
--- /dev/null
+++ b/src/test/rustdoc-json/structs/with_primitives.rs
@@ -0,0 +1,10 @@
+// @has with_primitives.json "$.index[*][?(@.name=='WithPrimitives')].visibility" \"public\"
+// @has - "$.index[*][?(@.name=='WithPrimitives')].kind" \"struct\"
+// @has - "$.index[*][?(@.name=='WithPrimitives')].inner.generics.params[0].name" \"\'a\"
+// @has - "$.index[*][?(@.name=='WithPrimitives')].inner.generics.params[0].kind" \"lifetime\"
+// @has - "$.index[*][?(@.name=='WithPrimitives')].inner.struct_type" \"plain\"
+// @has - "$.index[*][?(@.name=='WithPrimitives')].inner.fields_stripped" true
+pub struct WithPrimitives<'a> {
+    num: u32,
+    s: &'a str,
+}
diff --git a/src/test/rustdoc-json/traits/has_body.rs b/src/test/rustdoc-json/traits/has_body.rs
new file mode 100644
index 00000000000..44dacb1ee75
--- /dev/null
+++ b/src/test/rustdoc-json/traits/has_body.rs
@@ -0,0 +1,21 @@
+// @has has_body.json "$.index[*][?(@.name=='Foo')]"
+pub trait Foo {
+    // @has - "$.index[*][?(@.name=='no_self')].inner.has_body" false
+    fn no_self();
+    // @has - "$.index[*][?(@.name=='move_self')].inner.has_body" false
+    fn move_self(self);
+    // @has - "$.index[*][?(@.name=='ref_self')].inner.has_body" false
+    fn ref_self(&self);
+
+    // @has - "$.index[*][?(@.name=='no_self_def')].inner.has_body" true
+    fn no_self_def() {}
+    // @has - "$.index[*][?(@.name=='move_self_def')].inner.has_body" true
+    fn move_self_def(self) {}
+    // @has - "$.index[*][?(@.name=='ref_self_def')].inner.has_body" true
+    fn ref_self_def(&self) {}
+}
+
+pub trait Bar: Clone {
+    // @has - "$.index[*][?(@.name=='method')].inner.has_body" false
+    fn method(&self, param: usize);
+}
diff --git a/src/test/rustdoc-json/unions/union.rs b/src/test/rustdoc-json/unions/union.rs
new file mode 100644
index 00000000000..ac2eb797791
--- /dev/null
+++ b/src/test/rustdoc-json/unions/union.rs
@@ -0,0 +1,7 @@
+// @has union.json "$.index[*][?(@.name=='Union')].visibility" \"public\"
+// @has - "$.index[*][?(@.name=='Union')].kind" \"union\"
+// @!has - "$.index[*][?(@.name=='Union')].inner.struct_type"
+pub union Union {
+    int: i32,
+    float: f32,
+}
diff --git a/src/test/rustdoc-ui/deref-generic.rs b/src/test/rustdoc-ui/deref-generic.rs
new file mode 100644
index 00000000000..bc64beb1b93
--- /dev/null
+++ b/src/test/rustdoc-ui/deref-generic.rs
@@ -0,0 +1,15 @@
+// check-pass
+// #81395: Fix ICE when recursing into Deref target only differing in type args
+
+pub struct Generic<T>(T);
+
+impl<'a> std::ops::Deref for Generic<&'a mut ()> {
+    type Target = Generic<&'a ()>;
+    fn deref(&self) -> &Self::Target {
+        unimplemented!()
+    }
+}
+
+impl<'a> Generic<&'a ()> {
+    pub fn some_method(&self) {}
+}
diff --git a/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs b/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs
new file mode 100644
index 00000000000..3cfac942ca8
--- /dev/null
+++ b/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs
@@ -0,0 +1,6 @@
+//! [pointer::add]
+//~^ ERROR: experimental
+//! [pointer::wrapping_add]
+//~^ ERROR: experimental
+//! [pointer] // This is explicitly allowed
+//! [reference] // This is explicitly allowed
diff --git a/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr b/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr
new file mode 100644
index 00000000000..2c946ed48db
--- /dev/null
+++ b/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr
@@ -0,0 +1,23 @@
+error[E0658]: linking to associated items of raw pointers is experimental
+  --> $DIR/feature-gate-intra-doc-pointers.rs:1:6
+   |
+LL | //! [pointer::add]
+   |      ^^^^^^^^^^^^
+   |
+   = note: see issue #80896 <https://github.com/rust-lang/rust/issues/80896> for more information
+   = help: add `#![feature(intra_doc_pointers)]` to the crate attributes to enable
+   = note: rustdoc does not allow disambiguating between `*const` and `*mut`, and pointers are unstable until it does
+
+error[E0658]: linking to associated items of raw pointers is experimental
+  --> $DIR/feature-gate-intra-doc-pointers.rs:3:6
+   |
+LL | //! [pointer::wrapping_add]
+   |      ^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #80896 <https://github.com/rust-lang/rust/issues/80896> for more information
+   = help: add `#![feature(intra_doc_pointers)]` to the crate attributes to enable
+   = note: rustdoc does not allow disambiguating between `*const` and `*mut`, and pointers are unstable until it does
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/rustdoc-ui/intra-doc/non-path-primitives.rs b/src/test/rustdoc-ui/intra-doc/non-path-primitives.rs
index 114502b0ddf..6785c4c43f5 100644
--- a/src/test/rustdoc-ui/intra-doc/non-path-primitives.rs
+++ b/src/test/rustdoc-ui/intra-doc/non-path-primitives.rs
@@ -1,4 +1,5 @@
 #![deny(broken_intra_doc_links)]
+#![feature(intra_doc_pointers)]
 // These are links that could reasonably expected to work, but don't.
 
 // `[]` isn't supported because it had too many false positives.
diff --git a/src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr b/src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr
index ea831e648f6..174758504ae 100644
--- a/src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr
+++ b/src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr
@@ -1,5 +1,5 @@
 error: unresolved link to `T`
-  --> $DIR/non-path-primitives.rs:11:7
+  --> $DIR/non-path-primitives.rs:12:7
    |
 LL | //! [[T]::rotate_left]
    |       ^ no item named `T` in scope
@@ -12,7 +12,7 @@ LL | #![deny(broken_intra_doc_links)]
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
 
 error: unresolved link to `Z`
-  --> $DIR/non-path-primitives.rs:13:5
+  --> $DIR/non-path-primitives.rs:14:5
    |
 LL | //![Z]([T; N]::map)
    |     ^ no item named `Z` in scope
@@ -20,7 +20,7 @@ LL | //![Z]([T; N]::map)
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
 
 error: unresolved link to `Z`
-  --> $DIR/non-path-primitives.rs:16:6
+  --> $DIR/non-path-primitives.rs:17:6
    |
 LL | //! [Z][]
    |      ^ no item named `Z` in scope
@@ -28,7 +28,7 @@ LL | //! [Z][]
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
 
 error: unresolved link to `Z`
-  --> $DIR/non-path-primitives.rs:18:6
+  --> $DIR/non-path-primitives.rs:19:6
    |
 LL | //! [Z]: [T; N]::map
    |      ^ no item named `Z` in scope
@@ -36,31 +36,31 @@ LL | //! [Z]: [T; N]::map
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
 
 error: unresolved link to `unit::eq`
-  --> $DIR/non-path-primitives.rs:27:6
+  --> $DIR/non-path-primitives.rs:28:6
    |
 LL | //! [unit::eq]
    |      ^^^^^^^^ the builtin type `unit` has no associated item named `eq`
 
 error: unresolved link to `tuple::eq`
-  --> $DIR/non-path-primitives.rs:28:6
+  --> $DIR/non-path-primitives.rs:29:6
    |
 LL | //! [tuple::eq]
    |      ^^^^^^^^^ the builtin type `tuple` has no associated item named `eq`
 
 error: unresolved link to `fn::eq`
-  --> $DIR/non-path-primitives.rs:29:6
+  --> $DIR/non-path-primitives.rs:30:6
    |
 LL | //! [fn::eq]
    |      ^^^^^^ the builtin type `fn` has no associated item named `eq`
 
 error: unresolved link to `never::eq`
-  --> $DIR/non-path-primitives.rs:30:6
+  --> $DIR/non-path-primitives.rs:31:6
    |
 LL | //! [never::eq]
    |      ^^^^^^^^^ the builtin type `never` has no associated item named `eq`
 
 error: unresolved link to `reference::deref`
-  --> $DIR/non-path-primitives.rs:34:6
+  --> $DIR/non-path-primitives.rs:35:6
    |
 LL | //! [reference::deref]
    |      ^^^^^^^^^^^^^^^^ the builtin type `reference` has no associated item named `deref`
diff --git a/src/test/rustdoc-ui/issue-81662-shortness.rs b/src/test/rustdoc-ui/issue-81662-shortness.rs
new file mode 100644
index 00000000000..27a21a313bc
--- /dev/null
+++ b/src/test/rustdoc-ui/issue-81662-shortness.rs
@@ -0,0 +1,12 @@
+// compile-flags:--test --error-format=short
+// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
+// failure-status: 101
+
+/// ```rust
+/// foo();
+/// ```
+//~^^ ERROR cannot find function `foo` in this scope
+fn foo() {
+    println!("Hello, world!");
+}
diff --git a/src/test/rustdoc-ui/issue-81662-shortness.stdout b/src/test/rustdoc-ui/issue-81662-shortness.stdout
new file mode 100644
index 00000000000..748113be3a2
--- /dev/null
+++ b/src/test/rustdoc-ui/issue-81662-shortness.stdout
@@ -0,0 +1,16 @@
+
+running 1 test
+test $DIR/issue-81662-shortness.rs - foo (line 6) ... FAILED
+
+failures:
+
+---- $DIR/issue-81662-shortness.rs - foo (line 6) stdout ----
+$DIR/issue-81662-shortness.rs:7:1: error[E0425]: cannot find function `foo` in this scope
+error: aborting due to previous error
+Couldn't compile the test.
+
+failures:
+    $DIR/issue-81662-shortness.rs - foo (line 6)
+
+test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
+
diff --git a/src/test/rustdoc-ui/run-directory.correct.stdout b/src/test/rustdoc-ui/run-directory.correct.stdout
new file mode 100644
index 00000000000..e9b2754794a
--- /dev/null
+++ b/src/test/rustdoc-ui/run-directory.correct.stdout
@@ -0,0 +1,6 @@
+
+running 1 test
+test $DIR/run-directory.rs - foo (line 10) ... ok
+
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
+
diff --git a/src/test/rustdoc-ui/run-directory.incorrect.stdout b/src/test/rustdoc-ui/run-directory.incorrect.stdout
new file mode 100644
index 00000000000..97a5dbc5c0c
--- /dev/null
+++ b/src/test/rustdoc-ui/run-directory.incorrect.stdout
@@ -0,0 +1,6 @@
+
+running 1 test
+test $DIR/run-directory.rs - foo (line 19) ... ok
+
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
+
diff --git a/src/test/rustdoc-ui/run-directory.rs b/src/test/rustdoc-ui/run-directory.rs
new file mode 100644
index 00000000000..78431c0e80b
--- /dev/null
+++ b/src/test/rustdoc-ui/run-directory.rs
@@ -0,0 +1,23 @@
+// this test asserts that the cwd of doctest invocations is set correctly.
+
+// revisions: correct incorrect
+// check-pass
+// [correct]compile-flags:--test --test-run-directory={{src-base}}
+// [incorrect]compile-flags:--test --test-run-directory={{src-base}}/coverage
+// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
+
+/// ```
+/// assert_eq!(
+///     std::fs::read_to_string("run-directory.rs").unwrap(),
+///     include_str!("run-directory.rs"),
+/// );
+/// ```
+#[cfg(correct)]
+pub fn foo() {}
+
+/// ```
+/// assert!(std::fs::read_to_string("run-directory.rs").is_err());
+/// ```
+#[cfg(incorrect)]
+pub fn foo() {}
diff --git a/src/test/rustdoc/fn-type.rs b/src/test/rustdoc/fn-type.rs
new file mode 100644
index 00000000000..f5e123aed9c
--- /dev/null
+++ b/src/test/rustdoc/fn-type.rs
@@ -0,0 +1,15 @@
+// ignore-tidy-linelength
+
+#![crate_name = "foo"]
+#![crate_type = "lib"]
+
+pub struct Foo<'a, T> {
+    pub generic: fn(val: &T) -> T,
+
+    pub lifetime: fn(val: &'a i32) -> i32,
+    pub hrtb_lifetime: for<'b, 'c> fn(one: &'b i32, two: &'c &'b i32) -> (&'b i32, &'c i32),
+}
+
+// @has 'foo/struct.Foo.html' '//span[@id="structfield.generic"]' "generic: fn(val: &T) -> T"
+// @has 'foo/struct.Foo.html' '//span[@id="structfield.lifetime"]' "lifetime: fn(val: &'a i32) -> i32"
+// @has 'foo/struct.Foo.html' '//span[@id="structfield.hrtb_lifetime"]' "hrtb_lifetime: for<'b, 'c> fn(one: &'b i32, two: &'c &'b i32) -> (&'b i32, &'c i32)"
diff --git a/src/test/rustdoc/for-lifetime.rs b/src/test/rustdoc/for-lifetime.rs
new file mode 100644
index 00000000000..299794b63b2
--- /dev/null
+++ b/src/test/rustdoc/for-lifetime.rs
@@ -0,0 +1,14 @@
+// ignore-tidy-linelength
+
+#![crate_name = "foo"]
+#![crate_type = "lib"]
+
+pub struct Foo {
+    pub some_func: for<'a> fn(val: &'a i32) -> i32,
+    pub some_trait: dyn for<'a> Trait<'a>,
+}
+
+// @has foo/struct.Foo.html '//span[@id="structfield.some_func"]' "some_func: for<'a> fn(val: &'a i32) -> i32"
+// @has foo/struct.Foo.html '//span[@id="structfield.some_trait"]' "some_trait: dyn Trait<'a>"
+
+pub trait Trait<'a> {}
diff --git a/src/test/rustdoc/implementor-stable-version.rs b/src/test/rustdoc/implementor-stable-version.rs
new file mode 100644
index 00000000000..0a065d8095b
--- /dev/null
+++ b/src/test/rustdoc/implementor-stable-version.rs
@@ -0,0 +1,19 @@
+#![crate_name = "foo"]
+
+#![feature(staged_api)]
+
+#[stable(feature = "bar", since = "OLD 1.0")]
+pub trait Bar {}
+
+#[stable(feature = "baz", since = "OLD 1.0")]
+pub trait Baz {}
+
+pub struct Foo;
+
+// @has foo/trait.Bar.html '//div[@id="implementors-list"]//span[@class="since"]' 'NEW 2.0'
+#[stable(feature = "foobar", since = "NEW 2.0")]
+impl Bar for Foo {}
+
+// @!has foo/trait.Baz.html '//div[@id="implementors-list"]//span[@class="since"]' 'OLD 1.0'
+#[stable(feature = "foobaz", since = "OLD 1.0")]
+impl Baz for Foo {}
diff --git a/src/test/rustdoc/intra-doc/non-path-primitives.rs b/src/test/rustdoc/intra-doc/non-path-primitives.rs
index 2c7e7b5c48c..48c667ef2d1 100644
--- a/src/test/rustdoc/intra-doc/non-path-primitives.rs
+++ b/src/test/rustdoc/intra-doc/non-path-primitives.rs
@@ -1,5 +1,6 @@
 // ignore-tidy-linelength
 #![crate_name = "foo"]
+#![feature(intra_doc_pointers)]
 #![deny(broken_intra_doc_links)]
 
 // @has foo/index.html '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rotate_left"]' 'slice::rotate_left'
diff --git a/src/test/rustdoc/issue-80893.rs b/src/test/rustdoc/issue-80893.rs
deleted file mode 100644
index 7c958a80be3..00000000000
--- a/src/test/rustdoc/issue-80893.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// compile-flags: --test -Z unstable-options --test-builder true
-
-/// ```no_run
-/// This tests that `--test-builder` is accepted as a flag by rustdoc.
-/// ```
-pub struct Foo;
diff --git a/src/test/rustdoc/reexport-check.rs b/src/test/rustdoc/reexport-check.rs
index 841702987ef..9a22903a94c 100644
--- a/src/test/rustdoc/reexport-check.rs
+++ b/src/test/rustdoc/reexport-check.rs
@@ -4,7 +4,7 @@
 extern crate reexport_check;
 
 // @!has 'foo/index.html' '//code' 'pub use self::i32;'
-// @has 'foo/index.html' '//tr[@class="module-item"]' 'i32'
+// @has 'foo/index.html' '//tr[@class="deprecated module-item"]' 'i32'
 // @has 'foo/i32/index.html'
 #[allow(deprecated, deprecated_in_future)]
 pub use std::i32;
diff --git a/src/test/rustdoc/task-lists.rs b/src/test/rustdoc/task-lists.rs
new file mode 100644
index 00000000000..c2e7dd60f22
--- /dev/null
+++ b/src/test/rustdoc/task-lists.rs
@@ -0,0 +1,13 @@
+// ignore-tidy-linelength
+// FIXME: this doesn't test as much as I'd like; ideally it would have these query too:
+  // has task_lists/index.html '//li/input[@type="checkbox" and disabled]/following-sibling::text()' 'a'
+  // has task_lists/index.html '//li/input[@type="checkbox"]/following-sibling::text()' 'b'
+// Unfortunately that requires LXML, because the built-in xml module doesn't support all of xpath.
+
+// @has task_lists/index.html '//ul/li/input[@type="checkbox"]' ''
+// @has task_lists/index.html '//ul/li/input[@disabled]' ''
+// @has task_lists/index.html '//ul/li' 'a'
+// @has task_lists/index.html '//ul/li' 'b'
+//! This tests 'task list' support, a common markdown extension.
+//! - [ ] a
+//! - [x] b
diff --git a/src/test/rustdoc/visibility.rs b/src/test/rustdoc/visibility.rs
index 59427693c5a..beb638406c4 100644
--- a/src/test/rustdoc/visibility.rs
+++ b/src/test/rustdoc/visibility.rs
@@ -42,3 +42,35 @@ mod a {
         struct FooBPriv;
     }
 }
+
+// @has 'foo/trait.PubTrait.html' '//pre' 'pub trait PubTrait'
+//
+// @has 'foo/trait.PubTrait.html' '//pre' 'type Type;'
+// @!has 'foo/trait.PubTrait.html' '//pre' 'pub type Type;'
+//
+// @has 'foo/trait.PubTrait.html' '//pre' 'const CONST: usize;'
+// @!has 'foo/trait.PubTrait.html' '//pre' 'pub const CONST: usize;'
+//
+// @has 'foo/trait.PubTrait.html' '//pre' 'fn function();'
+// @!has 'foo/trait.PubTrait.html' '//pre' 'pub fn function();'
+
+pub trait PubTrait {
+    type Type;
+    const CONST: usize;
+    fn function();
+}
+
+// @has 'foo/struct.FooPublic.html' '//code' 'type Type'
+// @!has 'foo/struct.FooPublic.html' '//code' 'pub type Type'
+//
+// @has 'foo/struct.FooPublic.html' '//code' 'const CONST: usize'
+// @!has 'foo/struct.FooPublic.html' '//code' 'pub const CONST: usize'
+//
+// @has 'foo/struct.FooPublic.html' '//code' 'fn function()'
+// @!has 'foo/struct.FooPublic.html' '//code' 'pub fn function()'
+
+impl PubTrait for FooPublic {
+    type Type = usize;
+    const CONST: usize = 0;
+    fn function() {}
+}
diff --git a/src/test/ui-fulldeps/issue-15149.rs b/src/test/ui-fulldeps/issue-15149.rs
index c80628aabc8..c7ef5ad70a1 100644
--- a/src/test/ui-fulldeps/issue-15149.rs
+++ b/src/test/ui-fulldeps/issue-15149.rs
@@ -50,7 +50,7 @@ fn test() {
                                                       .output().unwrap();
 
     assert!(child_output.status.success(),
-            format!("child assertion failed\n child stdout:\n {}\n child stderr:\n {}",
-                    str::from_utf8(&child_output.stdout).unwrap(),
-                    str::from_utf8(&child_output.stderr).unwrap()));
+            "child assertion failed\n child stdout:\n {}\n child stderr:\n {}",
+            str::from_utf8(&child_output.stdout).unwrap(),
+            str::from_utf8(&child_output.stderr).unwrap());
 }
diff --git a/src/test/ui-fulldeps/lint-tool-test.stderr b/src/test/ui-fulldeps/lint-tool-test.stderr
index 5e1cb4fb843..2260477a91d 100644
--- a/src/test/ui-fulldeps/lint-tool-test.stderr
+++ b/src/test/ui-fulldeps/lint-tool-test.stderr
@@ -1,4 +1,4 @@
-warning: lint name `test_lint` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `test_lint` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:9:23
    |
 LL | #![cfg_attr(foo, warn(test_lint))]
@@ -6,13 +6,13 @@ LL | #![cfg_attr(foo, warn(test_lint))]
    |
    = note: `#[warn(renamed_and_removed_lints)]` on by default
 
-warning: lint name `clippy_group` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `clippy_group` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:13:9
    |
 LL | #![deny(clippy_group)]
    |         ^^^^^^^^^^^^ help: change it to: `clippy::group`
 
-warning: lint name `test_group` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `test_group` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:29:9
    |
 LL | #[allow(test_group)]
@@ -26,19 +26,19 @@ LL | #[deny(this_lint_does_not_exist)]
    |
    = note: `#[warn(unknown_lints)]` on by default
 
-warning: lint name `test_lint` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `test_lint` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:9:23
    |
 LL | #![cfg_attr(foo, warn(test_lint))]
    |                       ^^^^^^^^^ help: change it to: `clippy::test_lint`
 
-warning: lint name `clippy_group` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `clippy_group` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:13:9
    |
 LL | #![deny(clippy_group)]
    |         ^^^^^^^^^^^^ help: change it to: `clippy::group`
 
-warning: lint name `test_group` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `test_group` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:29:9
    |
 LL | #[allow(test_group)]
@@ -52,13 +52,13 @@ LL | #![plugin(lint_tool_test)]
    |
    = note: `#[warn(deprecated)]` on by default
 
-warning: lint name `test_lint` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `test_lint` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:9:23
    |
 LL | #![cfg_attr(foo, warn(test_lint))]
    |                       ^^^^^^^^^ help: change it to: `clippy::test_lint`
 
-warning: lint name `clippy_group` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `clippy_group` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:13:9
    |
 LL | #![deny(clippy_group)]
@@ -90,7 +90,7 @@ LL | #![deny(clippy_group)]
    |         ^^^^^^^^^^^^
    = note: `#[deny(clippy::test_group)]` implied by `#[deny(clippy::group)]`
 
-warning: lint name `test_group` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore
+warning: lint name `test_group` is deprecated and may not have an effect in the future.
   --> $DIR/lint-tool-test.rs:29:9
    |
 LL | #[allow(test_group)]
diff --git a/src/test/ui/allocator/object-safe.rs b/src/test/ui/allocator/object-safe.rs
new file mode 100644
index 00000000000..fae7ab7fe33
--- /dev/null
+++ b/src/test/ui/allocator/object-safe.rs
@@ -0,0 +1,13 @@
+// run-pass
+
+// Check that `Allocator` is object safe, this allows for polymorphic allocators
+
+#![feature(allocator_api)]
+
+use std::alloc::{Allocator, System};
+
+fn ensure_object_safe(_: &dyn Allocator) {}
+
+fn main() {
+    ensure_object_safe(&System);
+}
diff --git a/src/test/ui/array-slice-vec/array_const_index-0.rs b/src/test/ui/array-slice-vec/array_const_index-0.rs
index 4021dfcc6eb..9ff7e2c569a 100644
--- a/src/test/ui/array-slice-vec/array_const_index-0.rs
+++ b/src/test/ui/array-slice-vec/array_const_index-0.rs
@@ -2,6 +2,7 @@ const A: &'static [i32] = &[];
 const B: i32 = (&A)[1];
 //~^ index out of bounds: the length is 0 but the index is 1
 //~| ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let _ = B;
diff --git a/src/test/ui/array-slice-vec/array_const_index-0.stderr b/src/test/ui/array-slice-vec/array_const_index-0.stderr
index 7ccc3aa087e..641705e1c68 100644
--- a/src/test/ui/array-slice-vec/array_const_index-0.stderr
+++ b/src/test/ui/array-slice-vec/array_const_index-0.stderr
@@ -7,6 +7,8 @@ LL | const B: i32 = (&A)[1];
    |                index out of bounds: the length is 0 but the index is 1
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/array-slice-vec/array_const_index-1.rs b/src/test/ui/array-slice-vec/array_const_index-1.rs
index d0ee1796c0f..f4326189c19 100644
--- a/src/test/ui/array-slice-vec/array_const_index-1.rs
+++ b/src/test/ui/array-slice-vec/array_const_index-1.rs
@@ -2,6 +2,7 @@ const A: [i32; 0] = [];
 const B: i32 = A[1];
 //~^ index out of bounds: the length is 0 but the index is 1
 //~| ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let _ = B;
diff --git a/src/test/ui/array-slice-vec/array_const_index-1.stderr b/src/test/ui/array-slice-vec/array_const_index-1.stderr
index 37de61b9df0..4d52d38af5e 100644
--- a/src/test/ui/array-slice-vec/array_const_index-1.stderr
+++ b/src/test/ui/array-slice-vec/array_const_index-1.stderr
@@ -7,6 +7,8 @@ LL | const B: i32 = A[1];
    |                index out of bounds: the length is 0 but the index is 1
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-18425.rs b/src/test/ui/array-slice-vec/issue-18425.rs
index 354c14a756a..354c14a756a 100644
--- a/src/test/ui/issues/issue-18425.rs
+++ b/src/test/ui/array-slice-vec/issue-18425.rs
diff --git a/src/test/ui/array-slice-vec/repeat_empty_ok.rs b/src/test/ui/array-slice-vec/repeat_empty_ok.rs
new file mode 100644
index 00000000000..25463ea5ee8
--- /dev/null
+++ b/src/test/ui/array-slice-vec/repeat_empty_ok.rs
@@ -0,0 +1,15 @@
+#![crate_type = "lib"]
+
+pub struct Header<'a> {
+    pub value: &'a [u8],
+}
+
+pub fn test() {
+    let headers = [Header{value: &[]}; 128];
+    //~^ ERROR the trait bound
+}
+
+pub fn test2() {
+    let headers = [Header{value: &[0]}; 128];
+    //~^ ERROR the trait bound
+}
diff --git a/src/test/ui/array-slice-vec/repeat_empty_ok.stderr b/src/test/ui/array-slice-vec/repeat_empty_ok.stderr
new file mode 100644
index 00000000000..85baa1268bf
--- /dev/null
+++ b/src/test/ui/array-slice-vec/repeat_empty_ok.stderr
@@ -0,0 +1,19 @@
+error[E0277]: the trait bound `Header<'_>: Copy` is not satisfied
+  --> $DIR/repeat_empty_ok.rs:8:19
+   |
+LL |     let headers = [Header{value: &[]}; 128];
+   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Header<'_>`
+   |
+   = note: the `Copy` trait is required because the repeated element will be copied
+
+error[E0277]: the trait bound `Header<'_>: Copy` is not satisfied
+  --> $DIR/repeat_empty_ok.rs:13:19
+   |
+LL |     let headers = [Header{value: &[0]}; 128];
+   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Header<'_>`
+   |
+   = note: the `Copy` trait is required because the repeated element will be copied
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/associated-consts/defaults-not-assumed-fail.rs b/src/test/ui/associated-consts/defaults-not-assumed-fail.rs
index d7a48cbd63e..3936e6a3bc7 100644
--- a/src/test/ui/associated-consts/defaults-not-assumed-fail.rs
+++ b/src/test/ui/associated-consts/defaults-not-assumed-fail.rs
@@ -7,6 +7,7 @@ trait Tr {
     // `Self::A` must not be assumed to hold inside the trait.
     const B: u8 = Self::A + 1;
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 // An impl that doesn't override any constant will NOT cause a const eval error
@@ -31,8 +32,9 @@ impl Tr for u32 {
 fn main() {
     assert_eq!(<() as Tr>::A, 255);
     assert_eq!(<() as Tr>::B, 0);    // causes the error above
-    //~^ ERROR evaluation of constant expression failed
+    //~^ ERROR evaluation of constant value failed
     //~| ERROR erroneous constant used
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     assert_eq!(<u8 as Tr>::A, 254);
     assert_eq!(<u8 as Tr>::B, 255);
diff --git a/src/test/ui/associated-consts/defaults-not-assumed-fail.stderr b/src/test/ui/associated-consts/defaults-not-assumed-fail.stderr
index 1497633c26a..d034a50299d 100644
--- a/src/test/ui/associated-consts/defaults-not-assumed-fail.stderr
+++ b/src/test/ui/associated-consts/defaults-not-assumed-fail.stderr
@@ -7,23 +7,23 @@ LL |     const B: u8 = Self::A + 1;
    |                   attempt to compute `u8::MAX + 1_u8`, which would overflow
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/defaults-not-assumed-fail.rs:33:5
+error[E0080]: evaluation of constant value failed
+  --> $DIR/defaults-not-assumed-fail.rs:34:16
    |
 LL |     assert_eq!(<() as Tr>::B, 0);    // causes the error above
-   |     ^^^^^^^^^^^-------------^^^^^
-   |                |
-   |                referenced constant has errors
-   |
-   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+   |                ^^^^^^^^^^^^^ referenced constant has errors
 
 error: erroneous constant used
-  --> $DIR/defaults-not-assumed-fail.rs:33:5
+  --> $DIR/defaults-not-assumed-fail.rs:34:5
    |
 LL |     assert_eq!(<() as Tr>::B, 0);    // causes the error above
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/associated-types/hr-associated-type-bound-2.rs b/src/test/ui/associated-types/hr-associated-type-bound-2.rs
index 7ff0fede28c..78ee28b17d4 100644
--- a/src/test/ui/associated-types/hr-associated-type-bound-2.rs
+++ b/src/test/ui/associated-types/hr-associated-type-bound-2.rs
@@ -17,5 +17,5 @@ where
 
 fn main() {
     1u32.f("abc");
-    //~^ ERROR no method named `f` found for type `u32` in the current scope
+    //~^ ERROR the method
 }
diff --git a/src/test/ui/associated-types/hr-associated-type-bound-2.stderr b/src/test/ui/associated-types/hr-associated-type-bound-2.stderr
index 20b6659bbc1..043d1ac76de 100644
--- a/src/test/ui/associated-types/hr-associated-type-bound-2.stderr
+++ b/src/test/ui/associated-types/hr-associated-type-bound-2.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no method named `f` found for type `u32` in the current scope
+error[E0599]: the method `f` exists for type `u32`, but its trait bounds were not satisfied
   --> $DIR/hr-associated-type-bound-2.rs:19:10
    |
 LL |     1u32.f("abc");
-   |          ^ method not found in `u32`
+   |          ^ method cannot be called on `u32` due to unsatisfied trait bounds
    |
-   = note: the method `f` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `<u32 as X<'b>>::U: Clone`
            which is required by `u32: X`
 
diff --git a/src/test/ui/issues/issue-18655.rs b/src/test/ui/associated-types/issue-18655.rs
index 3d18542acdc..3d18542acdc 100644
--- a/src/test/ui/issues/issue-18655.rs
+++ b/src/test/ui/associated-types/issue-18655.rs
diff --git a/src/test/ui/issues/issue-22037.rs b/src/test/ui/associated-types/issue-22037.rs
index b9eb41b6ea6..b9eb41b6ea6 100644
--- a/src/test/ui/issues/issue-22037.rs
+++ b/src/test/ui/associated-types/issue-22037.rs
diff --git a/src/test/ui/issues/issue-22037.stderr b/src/test/ui/associated-types/issue-22037.stderr
index 615628558f0..615628558f0 100644
--- a/src/test/ui/issues/issue-22037.stderr
+++ b/src/test/ui/associated-types/issue-22037.stderr
diff --git a/src/test/ui/associated-types/issue-24159.rs b/src/test/ui/associated-types/issue-24159.rs
new file mode 100644
index 00000000000..49753e7bf16
--- /dev/null
+++ b/src/test/ui/associated-types/issue-24159.rs
@@ -0,0 +1,37 @@
+// check-pass
+
+#![allow(unused)]
+
+trait Bar<T> {
+    fn dummy(&self);
+}
+
+trait Foo {
+    type A;
+    type B: Bar<Self::A>;
+
+    fn get_b(&self) -> &Self::B;
+}
+
+fn test_bar<A, B: Bar<A>>(_: &B) {}
+
+fn test<A, F: Foo<A = A>>(f: &F) {
+    test_bar(f.get_b());
+}
+
+trait Bar1<T> {}
+trait Caz1 {
+    type A;
+    type B: Bar1<Self::A>;
+}
+
+fn test1<T, U>() where T: Caz1, U: Caz1<A = T::A> {}
+
+trait Bar2<T> {}
+trait Caz2 {
+    type A;
+    type B: Bar2<Self::A>;
+}
+fn test2<T: Caz2<A = ()>>() {}
+
+fn main() {}
diff --git a/src/test/ui/associated-types/issue-37808.rs b/src/test/ui/associated-types/issue-37808.rs
new file mode 100644
index 00000000000..3701c37d0c8
--- /dev/null
+++ b/src/test/ui/associated-types/issue-37808.rs
@@ -0,0 +1,19 @@
+// check-pass
+
+trait Parent {
+    type Ty;
+    type Assoc: Child<Self::Ty>;
+}
+
+trait Child<T> {}
+
+struct ChildWrapper<T>(T);
+impl<A, T> Child<A> for ChildWrapper<T> where T: Child<A> {}
+
+struct ParentWrapper<T>(T);
+impl<A, T: Parent<Ty = A>> Parent for ParentWrapper<T> {
+    type Ty = A;
+    type Assoc = ChildWrapper<T::Assoc>;
+}
+
+fn main() {}
diff --git a/src/test/ui/associated-types/issue-37883.rs b/src/test/ui/associated-types/issue-37883.rs
new file mode 100644
index 00000000000..d854f6af3ea
--- /dev/null
+++ b/src/test/ui/associated-types/issue-37883.rs
@@ -0,0 +1,25 @@
+// check-pass
+
+use std::ops::Mul;
+
+fn main() {}
+
+trait Ring {}
+trait Real: Ring {}
+
+trait Module: Sized + Mul<<Self as Module>::Ring, Output = Self> {
+    type Ring: Ring;
+}
+
+trait EuclideanSpace {
+    type Coordinates: Module<Ring = Self::Real>;
+    type Real: Real;
+}
+
+trait Translation<E: EuclideanSpace> {
+    fn to_vector(&self) -> E::Coordinates;
+
+    fn powf(&self, n: <E::Coordinates as Module>::Ring) -> E::Coordinates {
+        self.to_vector() * n
+    }
+}
diff --git a/src/test/ui/associated-types/issue-38917.rs b/src/test/ui/associated-types/issue-38917.rs
new file mode 100644
index 00000000000..7e898851aa8
--- /dev/null
+++ b/src/test/ui/associated-types/issue-38917.rs
@@ -0,0 +1,25 @@
+// check-pass
+
+use std::borrow::Borrow;
+
+trait TNode: Sized {
+    type ConcreteElement: TElement<ConcreteNode = Self>;
+}
+
+trait TElement: Sized {
+    type ConcreteNode: TNode<ConcreteElement = Self>;
+}
+
+trait DomTraversal<N: TNode> {
+    type BorrowElement: Borrow<N::ConcreteElement>;
+}
+
+#[allow(dead_code)]
+fn recalc_style_at<E, D>()
+where
+    E: TElement,
+    D: DomTraversal<E::ConcreteNode>,
+{
+}
+
+fn main() {}
diff --git a/src/test/ui/associated-types/issue-39532.rs b/src/test/ui/associated-types/issue-39532.rs
new file mode 100644
index 00000000000..52652cedec9
--- /dev/null
+++ b/src/test/ui/associated-types/issue-39532.rs
@@ -0,0 +1,14 @@
+// check-pass
+
+#![allow(unused)]
+
+trait Foo {
+    type Bar;
+    type Baz: Bar<Self::Bar>;
+}
+
+trait Bar<T> {}
+
+fn x<T: Foo<Bar = U>, U>(t: &T) {}
+
+fn main() {}
diff --git a/src/test/ui/associated-types/issue-40093.rs b/src/test/ui/associated-types/issue-40093.rs
new file mode 100644
index 00000000000..fd325ae1008
--- /dev/null
+++ b/src/test/ui/associated-types/issue-40093.rs
@@ -0,0 +1,14 @@
+// check-pass
+
+pub trait Test {
+    type Item;
+    type Bundle: From<Self::Item>;
+}
+
+fn fails<T>()
+where
+    T: Test<Item = String>,
+{
+}
+
+fn main() {}
diff --git a/src/test/ui/associated-types/issue-43475.rs b/src/test/ui/associated-types/issue-43475.rs
new file mode 100644
index 00000000000..5f177333c93
--- /dev/null
+++ b/src/test/ui/associated-types/issue-43475.rs
@@ -0,0 +1,10 @@
+// check-pass
+
+trait Foo { type FooT: Foo; }
+impl Foo for () { type FooT = (); }
+trait Bar<T: Foo> { type BarT: Bar<T::FooT>; }
+impl Bar<()> for () { type BarT = (); }
+
+#[allow(dead_code)]
+fn test<C: Bar<()>>() { }
+fn main() { }
diff --git a/src/test/ui/associated-types/issue-63591.rs b/src/test/ui/associated-types/issue-63591.rs
new file mode 100644
index 00000000000..4d2e39f4da6
--- /dev/null
+++ b/src/test/ui/associated-types/issue-63591.rs
@@ -0,0 +1,24 @@
+// check-pass
+
+#![feature(associated_type_bounds)]
+#![feature(type_alias_impl_trait)]
+
+fn main() {}
+
+trait Bar { type Assoc; }
+
+trait Thing {
+    type Out;
+    fn func() -> Self::Out;
+}
+
+struct AssocIsCopy;
+impl Bar for AssocIsCopy { type Assoc = u8; }
+
+impl Thing for AssocIsCopy {
+    type Out = impl Bar<Assoc: Copy>;
+
+    fn func() -> Self::Out {
+        AssocIsCopy
+    }
+}
diff --git a/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs b/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs
new file mode 100644
index 00000000000..3e68b140102
--- /dev/null
+++ b/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs
@@ -0,0 +1,58 @@
+// Regression test for #80953. Hitting the recursion limit in projection
+// is non-fatal. The above code, minimised from wundergraph shows a case
+// where this is relied on.
+
+// check-pass
+
+struct AlternateTable {}
+struct AlternateQuery {}
+
+pub trait Query {}
+pub trait AsQuery {
+    type Query;
+}
+impl<T: Query> AsQuery for T {
+    type Query = Self;
+}
+impl AsQuery for AlternateTable {
+    type Query = AlternateQuery;
+}
+
+pub trait Table: AsQuery {
+    type PrimaryKey;
+}
+impl Table for AlternateTable {
+    type PrimaryKey = ();
+}
+
+pub trait FilterDsl<Predicate> {
+    type Output;
+}
+pub type Filter<Source, Predicate> = <Source as FilterDsl<Predicate>>::Output;
+impl<T, Predicate> FilterDsl<Predicate> for T
+where
+    T: Table,
+    T::Query: FilterDsl<Predicate>,
+{
+    type Output = Filter<T::Query, Predicate>;
+}
+impl<Predicate> FilterDsl<Predicate> for AlternateQuery {
+    type Output = &'static str;
+}
+
+pub trait HandleDelete {
+    type Filter;
+}
+impl<T> HandleDelete for T
+where
+    T: Table,
+    T::Query: FilterDsl<T::PrimaryKey>,
+    Filter<T::Query, T::PrimaryKey>: ,
+{
+    type Filter = Filter<T::Query, T::PrimaryKey>;
+}
+
+fn main() {
+    let x: <AlternateTable as HandleDelete>::Filter = "Hello, world";
+    println!("{}", x);
+}
diff --git a/src/test/ui/ast-json/ast-json-noexpand-output.stdout b/src/test/ui/ast-json/ast-json-noexpand-output.stdout
index 9c29a5f2337..02342af8dc5 100644
--- a/src/test/ui/ast-json/ast-json-noexpand-output.stdout
+++ b/src/test/ui/ast-json/ast-json-noexpand-output.stdout
@@ -1 +1 @@
-{"module":{"inner":{"lo":0,"hi":0},"unsafety":"No","items":[{"attrs":[],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"core","span":{"lo":0,"hi":0}},"kind":{"variant":"ExternCrate","fields":[null]},"tokens":null}],"inline":true},"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"crate_type","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":{"variant":"Eq","fields":[{"lo":0,"hi":0},{"kind":{"variant":"Interpolated","fields":[{"variant":"NtExpr","fields":[{"id":0,"kind":{"variant":"Lit","fields":[{"token":{"kind":"Str","symbol":"lib","suffix":null},"kind":{"variant":"Str","fields":["lib","Cooked"]},"span":{"lo":0,"hi":0}}]},"span":{"lo":0,"hi":0},"attrs":{"0":null},"tokens":null}]}]},"span":{"lo":0,"hi":0}}]},"tokens":null},{"0":[[{"variant":"Token","fields":[{"kind":"Pound","span":{"lo":0,"hi":0}}]},"Joint"],[{"variant":"Token","fields":[{"kind":"Not","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Delimited","fields":[{"open":{"lo":0,"hi":0},"close":{"lo":0,"hi":0}},"Bracket",{"0":[[{"variant":"Token","fields":[{"kind":{"variant":"Ident","fields":["crate_type",false]},"span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":"Eq","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":{"variant":"Literal","fields":[{"kind":"Str","symbol":"lib","suffix":null}]},"span":{"lo":0,"hi":0}}]},"Alone"]]}]},"Alone"]]}]},"id":null,"style":"Inner","span":{"lo":0,"hi":0}}],"span":{"lo":0,"hi":0},"proc_macros":[]}
+{"module":{"inner":{"lo":0,"hi":0},"unsafety":"No","items":[{"attrs":[],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"core","span":{"lo":0,"hi":0}},"kind":{"variant":"ExternCrate","fields":[null]},"tokens":null}],"inline":true},"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"crate_type","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":{"variant":"Eq","fields":[{"lo":0,"hi":0},{"kind":{"variant":"Interpolated","fields":[{"variant":"NtExpr","fields":[{"id":0,"kind":{"variant":"Lit","fields":[{"token":{"kind":"Str","symbol":"lib","suffix":null},"kind":{"variant":"Str","fields":["lib","Cooked"]},"span":{"lo":0,"hi":0}}]},"span":{"lo":0,"hi":0},"attrs":{"0":null},"tokens":{"0":[[{"variant":"Token","fields":[{"kind":{"variant":"Literal","fields":[{"kind":"Str","symbol":"lib","suffix":null}]},"span":{"lo":0,"hi":0}}]},"Alone"]]}}]}]},"span":{"lo":0,"hi":0}}]},"tokens":null},{"0":[[{"variant":"Token","fields":[{"kind":"Pound","span":{"lo":0,"hi":0}}]},"Joint"],[{"variant":"Token","fields":[{"kind":"Not","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Delimited","fields":[{"open":{"lo":0,"hi":0},"close":{"lo":0,"hi":0}},"Bracket",{"0":[[{"variant":"Token","fields":[{"kind":{"variant":"Ident","fields":["crate_type",false]},"span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":"Eq","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":{"variant":"Literal","fields":[{"kind":"Str","symbol":"lib","suffix":null}]},"span":{"lo":0,"hi":0}}]},"Alone"]]}]},"Alone"]]}]},"id":null,"style":"Inner","span":{"lo":0,"hi":0}}],"span":{"lo":0,"hi":0},"proc_macros":[]}
diff --git a/src/test/ui/ast-json/ast-json-output.stdout b/src/test/ui/ast-json/ast-json-output.stdout
index cccd51985dc..235f39c567b 100644
--- a/src/test/ui/ast-json/ast-json-output.stdout
+++ b/src/test/ui/ast-json/ast-json-output.stdout
@@ -1 +1 @@
-{"module":{"inner":{"lo":0,"hi":0},"unsafety":"No","items":[{"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"prelude_import","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":"Empty","tokens":null},null]},"id":null,"style":"Outer","span":{"lo":0,"hi":0}}],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"","span":{"lo":0,"hi":0}},"kind":{"variant":"Use","fields":[{"prefix":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"{{root}}","span":{"lo":0,"hi":0}},"id":0,"args":null},{"ident":{"name":"std","span":{"lo":0,"hi":0}},"id":0,"args":null},{"ident":{"name":"prelude","span":{"lo":0,"hi":0}},"id":0,"args":null},{"ident":{"name":"v1","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"kind":"Glob","span":{"lo":0,"hi":0}}]},"tokens":null},{"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"macro_use","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":"Empty","tokens":null},null]},"id":null,"style":"Outer","span":{"lo":0,"hi":0}}],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"std","span":{"lo":0,"hi":0}},"kind":{"variant":"ExternCrate","fields":[null]},"tokens":null},{"attrs":[],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"core","span":{"lo":0,"hi":0}},"kind":{"variant":"ExternCrate","fields":[null]},"tokens":null}],"inline":true},"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"crate_type","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":{"variant":"Eq","fields":[{"lo":0,"hi":0},{"kind":{"variant":"Interpolated","fields":[{"variant":"NtExpr","fields":[{"id":0,"kind":{"variant":"Lit","fields":[{"token":{"kind":"Str","symbol":"lib","suffix":null},"kind":{"variant":"Str","fields":["lib","Cooked"]},"span":{"lo":0,"hi":0}}]},"span":{"lo":0,"hi":0},"attrs":{"0":null},"tokens":null}]}]},"span":{"lo":0,"hi":0}}]},"tokens":null},{"0":[[{"variant":"Token","fields":[{"kind":"Pound","span":{"lo":0,"hi":0}}]},"Joint"],[{"variant":"Token","fields":[{"kind":"Not","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Delimited","fields":[{"open":{"lo":0,"hi":0},"close":{"lo":0,"hi":0}},"Bracket",{"0":[[{"variant":"Token","fields":[{"kind":{"variant":"Ident","fields":["crate_type",false]},"span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":"Eq","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":{"variant":"Literal","fields":[{"kind":"Str","symbol":"lib","suffix":null}]},"span":{"lo":0,"hi":0}}]},"Alone"]]}]},"Alone"]]}]},"id":null,"style":"Inner","span":{"lo":0,"hi":0}}],"span":{"lo":0,"hi":0},"proc_macros":[]}
+{"module":{"inner":{"lo":0,"hi":0},"unsafety":"No","items":[{"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"prelude_import","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":"Empty","tokens":null},null]},"id":null,"style":"Outer","span":{"lo":0,"hi":0}}],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"","span":{"lo":0,"hi":0}},"kind":{"variant":"Use","fields":[{"prefix":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"{{root}}","span":{"lo":0,"hi":0}},"id":0,"args":null},{"ident":{"name":"std","span":{"lo":0,"hi":0}},"id":0,"args":null},{"ident":{"name":"prelude","span":{"lo":0,"hi":0}},"id":0,"args":null},{"ident":{"name":"v1","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"kind":"Glob","span":{"lo":0,"hi":0}}]},"tokens":null},{"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"macro_use","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":"Empty","tokens":null},null]},"id":null,"style":"Outer","span":{"lo":0,"hi":0}}],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"std","span":{"lo":0,"hi":0}},"kind":{"variant":"ExternCrate","fields":[null]},"tokens":null},{"attrs":[],"id":0,"span":{"lo":0,"hi":0},"vis":{"kind":"Inherited","span":{"lo":0,"hi":0},"tokens":null},"ident":{"name":"core","span":{"lo":0,"hi":0}},"kind":{"variant":"ExternCrate","fields":[null]},"tokens":null}],"inline":true},"attrs":[{"kind":{"variant":"Normal","fields":[{"path":{"span":{"lo":0,"hi":0},"segments":[{"ident":{"name":"crate_type","span":{"lo":0,"hi":0}},"id":0,"args":null}],"tokens":null},"args":{"variant":"Eq","fields":[{"lo":0,"hi":0},{"kind":{"variant":"Interpolated","fields":[{"variant":"NtExpr","fields":[{"id":0,"kind":{"variant":"Lit","fields":[{"token":{"kind":"Str","symbol":"lib","suffix":null},"kind":{"variant":"Str","fields":["lib","Cooked"]},"span":{"lo":0,"hi":0}}]},"span":{"lo":0,"hi":0},"attrs":{"0":null},"tokens":{"0":[[{"variant":"Token","fields":[{"kind":{"variant":"Literal","fields":[{"kind":"Str","symbol":"lib","suffix":null}]},"span":{"lo":0,"hi":0}}]},"Alone"]]}}]}]},"span":{"lo":0,"hi":0}}]},"tokens":null},{"0":[[{"variant":"Token","fields":[{"kind":"Pound","span":{"lo":0,"hi":0}}]},"Joint"],[{"variant":"Token","fields":[{"kind":"Not","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Delimited","fields":[{"open":{"lo":0,"hi":0},"close":{"lo":0,"hi":0}},"Bracket",{"0":[[{"variant":"Token","fields":[{"kind":{"variant":"Ident","fields":["crate_type",false]},"span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":"Eq","span":{"lo":0,"hi":0}}]},"Alone"],[{"variant":"Token","fields":[{"kind":{"variant":"Literal","fields":[{"kind":"Str","symbol":"lib","suffix":null}]},"span":{"lo":0,"hi":0}}]},"Alone"]]}]},"Alone"]]}]},"id":null,"style":"Inner","span":{"lo":0,"hi":0}}],"span":{"lo":0,"hi":0},"proc_macros":[]}
diff --git a/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr b/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
index dbdfb2e71e0..919904ce3b6 100644
--- a/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
+++ b/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
@@ -59,22 +59,22 @@ error[E0308]: mismatched types
   --> $DIR/async-block-control-flow-static-semantics.rs:47:44
    |
 LL | fn rethrow_targets_async_block_not_fn() -> Result<u8, MyErr> {
-   |    ----------------------------------      ^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found `()`
+   |    ----------------------------------      ^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
    |    |
    |    implicitly returns `()` as its body has no tail or `return` expression
    |
-   = note:   expected enum `std::result::Result<u8, MyErr>`
+   = note:   expected enum `Result<u8, MyErr>`
            found unit type `()`
 
 error[E0308]: mismatched types
   --> $DIR/async-block-control-flow-static-semantics.rs:56:50
    |
 LL | fn rethrow_targets_async_block_not_async_fn() -> Result<u8, MyErr> {
-   |    ----------------------------------------      ^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found `()`
+   |    ----------------------------------------      ^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
    |    |
    |    implicitly returns `()` as its body has no tail or `return` expression
    |
-   = note:   expected enum `std::result::Result<u8, MyErr>`
+   = note:   expected enum `Result<u8, MyErr>`
            found unit type `()`
 
 error: aborting due to 8 previous errors
diff --git a/src/test/ui/async-await/issue-73137.rs b/src/test/ui/async-await/issue-73137.rs
index 18374460df7..c43ce2cadba 100644
--- a/src/test/ui/async-await/issue-73137.rs
+++ b/src/test/ui/async-await/issue-73137.rs
@@ -4,7 +4,6 @@
 // edition:2018
 
 #![allow(dead_code)]
-#![feature(wake_trait)]
 use std::future::Future;
 use std::task::{Waker, Wake, Context};
 use std::sync::Arc;
diff --git a/src/test/ui/issues/issue-73541-2.rs b/src/test/ui/async-await/issue-73541-2.rs
index 70b4ab25376..70b4ab25376 100644
--- a/src/test/ui/issues/issue-73541-2.rs
+++ b/src/test/ui/async-await/issue-73541-2.rs
diff --git a/src/test/ui/issues/issue-73541-2.stderr b/src/test/ui/async-await/issue-73541-2.stderr
index 75d769c4e15..75d769c4e15 100644
--- a/src/test/ui/issues/issue-73541-2.stderr
+++ b/src/test/ui/async-await/issue-73541-2.stderr
diff --git a/src/test/ui/async-await/issues/issue-62097.nll.stderr b/src/test/ui/async-await/issues/issue-62097.nll.stderr
index 2a399540e52..ab10e5f1810 100644
--- a/src/test/ui/async-await/issues/issue-62097.nll.stderr
+++ b/src/test/ui/async-await/issues/issue-62097.nll.stderr
@@ -26,4 +26,5 @@ LL |         foo(|| self.bar()).await;
 
 error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0373`.
+Some errors have detailed explanations: E0373, E0521.
+For more information about an error, try `rustc --explain E0373`.
diff --git a/src/test/ui/async-await/issues/issue-67893.stderr b/src/test/ui/async-await/issues/issue-67893.stderr
index af09f0a27bf..aee2ae0e2e4 100644
--- a/src/test/ui/async-await/issues/issue-67893.stderr
+++ b/src/test/ui/async-await/issues/issue-67893.stderr
@@ -13,9 +13,9 @@ LL | pub async fn run() {
    |                    - within this `impl Future`
    |
    = help: within `impl Future`, the trait `Send` is not implemented for `MutexGuard<'_, ()>`
-   = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3> {ResumeTy, Arc<Mutex<()>>, &'r Mutex<()>, std::result::Result<MutexGuard<'s, ()>, PoisonError<MutexGuard<'t0, ()>>>, &'t1 MutexGuard<'t2, ()>, MutexGuard<'t3, ()>, (), impl Future}`
-   = note: required because it appears within the type `[static generator@run::{closure#0} for<'r, 's, 't0, 't1, 't2, 't3> {ResumeTy, Arc<Mutex<()>>, &'r Mutex<()>, std::result::Result<MutexGuard<'s, ()>, PoisonError<MutexGuard<'t0, ()>>>, &'t1 MutexGuard<'t2, ()>, MutexGuard<'t3, ()>, (), impl Future}]`
-   = note: required because it appears within the type `from_generator::GenFuture<[static generator@run::{closure#0} for<'r, 's, 't0, 't1, 't2, 't3> {ResumeTy, Arc<Mutex<()>>, &'r Mutex<()>, std::result::Result<MutexGuard<'s, ()>, PoisonError<MutexGuard<'t0, ()>>>, &'t1 MutexGuard<'t2, ()>, MutexGuard<'t3, ()>, (), impl Future}]>`
+   = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3> {ResumeTy, Arc<Mutex<()>>, &'r Mutex<()>, Result<MutexGuard<'s, ()>, PoisonError<MutexGuard<'t0, ()>>>, &'t1 MutexGuard<'t2, ()>, MutexGuard<'t3, ()>, (), impl Future}`
+   = note: required because it appears within the type `[static generator@run::{closure#0} for<'r, 's, 't0, 't1, 't2, 't3> {ResumeTy, Arc<Mutex<()>>, &'r Mutex<()>, Result<MutexGuard<'s, ()>, PoisonError<MutexGuard<'t0, ()>>>, &'t1 MutexGuard<'t2, ()>, MutexGuard<'t3, ()>, (), impl Future}]`
+   = note: required because it appears within the type `from_generator::GenFuture<[static generator@run::{closure#0} for<'r, 's, 't0, 't1, 't2, 't3> {ResumeTy, Arc<Mutex<()>>, &'r Mutex<()>, Result<MutexGuard<'s, ()>, PoisonError<MutexGuard<'t0, ()>>>, &'t1 MutexGuard<'t2, ()>, MutexGuard<'t3, ()>, (), impl Future}]>`
    = note: required because it appears within the type `impl Future`
    = note: required because it appears within the type `impl Future`
 
diff --git a/src/test/ui/attr-usage-inline.rs b/src/test/ui/attr-usage-inline.rs
index 1996f4a692c..674c12454cd 100644
--- a/src/test/ui/attr-usage-inline.rs
+++ b/src/test/ui/attr-usage-inline.rs
@@ -6,4 +6,20 @@ fn f() {}
 #[inline] //~ ERROR: attribute should be applied to function or closure
 struct S;
 
+struct I {
+    #[inline]
+    i: u8,
+}
+
+#[macro_export]
+#[inline]
+macro_rules! m_e {
+    () => {};
+}
+
+#[inline] //~ ERROR: attribute should be applied to function or closure
+macro_rules! m {
+    () => {};
+}
+
 fn main() {}
diff --git a/src/test/ui/attr-usage-inline.stderr b/src/test/ui/attr-usage-inline.stderr
index d8d7f6adb82..22a0bf47e20 100644
--- a/src/test/ui/attr-usage-inline.stderr
+++ b/src/test/ui/attr-usage-inline.stderr
@@ -6,6 +6,12 @@ LL | #[inline]
 LL | struct S;
    | --------- not a function or closure
 
-error: aborting due to previous error
+error[E0518]: attribute should be applied to function or closure
+  --> $DIR/attr-usage-inline.rs:20:1
+   |
+LL | #[inline]
+   | ^^^^^^^^^ not a function or closure
+
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0518`.
diff --git a/src/test/ui/attributes/key-value-non-ascii.rs b/src/test/ui/attributes/key-value-non-ascii.rs
new file mode 100644
index 00000000000..12942eabdf7
--- /dev/null
+++ b/src/test/ui/attributes/key-value-non-ascii.rs
@@ -0,0 +1,4 @@
+#![feature(rustc_attrs)]
+
+#[rustc_dummy = b"ffi.rs"] //~ ERROR non-ASCII character in byte constant
+fn main() {}
diff --git a/src/test/ui/attributes/key-value-non-ascii.stderr b/src/test/ui/attributes/key-value-non-ascii.stderr
new file mode 100644
index 00000000000..1d4b0d5b2b1
--- /dev/null
+++ b/src/test/ui/attributes/key-value-non-ascii.stderr
@@ -0,0 +1,11 @@
+error: non-ASCII character in byte constant
+  --> $DIR/key-value-non-ascii.rs:3:19
+   |
+LL | #[rustc_dummy = b"ffi.rs"]
+   |                   ^
+   |                   |
+   |                   byte constant must be ASCII
+   |                   help: use a \xHH escape for a non-ASCII byte: `\xFB03`
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/backtrace-apple-no-dsymutil.rs b/src/test/ui/backtrace-apple-no-dsymutil.rs
new file mode 100644
index 00000000000..492ff6356bc
--- /dev/null
+++ b/src/test/ui/backtrace-apple-no-dsymutil.rs
@@ -0,0 +1,30 @@
+// run-pass
+
+// compile-flags:-g -Csplit-debuginfo=unpacked
+// only-macos
+
+#![feature(backtrace)]
+
+use std::process::Command;
+use std::str;
+
+#[inline(never)]
+fn main() {
+    let args: Vec<String> = std::env::args().collect();
+    if args.len() >= 2 {
+        println!("{}", std::backtrace::Backtrace::force_capture());
+        return;
+    }
+    let out = Command::new(&args[0]).env("RUST_BACKTRACE", "1").arg("foo").output().unwrap();
+    let output = format!(
+        "{}\n{}",
+        str::from_utf8(&out.stdout).unwrap(),
+        str::from_utf8(&out.stderr).unwrap(),
+    );
+    if out.status.success() && output.contains(file!()) {
+        return;
+    }
+    println!("status: {}", out.status);
+    println!("child output:\n\t{}", output.replace("\n", "\n\t"));
+    panic!("failed to find {:?} in output", file!());
+}
diff --git a/src/test/ui/borrowck/borrow-raw-address-of-mutability.stderr b/src/test/ui/borrowck/borrow-raw-address-of-mutability.stderr
index 44dde0fd80b..ea74fb96684 100644
--- a/src/test/ui/borrowck/borrow-raw-address-of-mutability.stderr
+++ b/src/test/ui/borrowck/borrow-raw-address-of-mutability.stderr
@@ -20,7 +20,9 @@ error[E0596]: cannot borrow `f` as mutable, as it is not declared as mutable
    |
 LL |     let f = || {
    |         - help: consider changing this to be mutable: `mut f`
-...
+LL |         let y = &raw mut x;
+   |                          - calling `f` requires mutable binding due to mutable borrow of `x`
+LL |     };
 LL |     f();
    |     ^ cannot borrow as mutable
 
diff --git a/src/test/ui/borrowck/borrowck-assign-to-subfield.rs b/src/test/ui/borrowck/borrowck-assign-to-subfield.rs
index 050d702b625..dfa3a561ec7 100644
--- a/src/test/ui/borrowck/borrowck-assign-to-subfield.rs
+++ b/src/test/ui/borrowck/borrowck-assign-to-subfield.rs
@@ -1,5 +1,6 @@
 // run-pass
 // pretty-expanded FIXME #23616
+#![allow(dead_code)]
 
 pub fn main() {
     struct A {
diff --git a/src/test/ui/issues/issue-33819.rs b/src/test/ui/borrowck/issue-33819.rs
index b73e85974a8..b73e85974a8 100644
--- a/src/test/ui/issues/issue-33819.rs
+++ b/src/test/ui/borrowck/issue-33819.rs
diff --git a/src/test/ui/issues/issue-33819.stderr b/src/test/ui/borrowck/issue-33819.stderr
index 8bc2d82cd3f..8bc2d82cd3f 100644
--- a/src/test/ui/issues/issue-33819.stderr
+++ b/src/test/ui/borrowck/issue-33819.stderr
diff --git a/src/test/ui/borrowck/issue-45983.stderr b/src/test/ui/borrowck/issue-45983.stderr
index efd414a2d44..feb098c5985 100644
--- a/src/test/ui/borrowck/issue-45983.stderr
+++ b/src/test/ui/borrowck/issue-45983.stderr
@@ -10,3 +10,4 @@ LL |     give_any(|y| x = Some(y));
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/borrowck/issue-7573.stderr b/src/test/ui/borrowck/issue-7573.stderr
index 815419db833..9d86286b867 100644
--- a/src/test/ui/borrowck/issue-7573.stderr
+++ b/src/test/ui/borrowck/issue-7573.stderr
@@ -12,3 +12,4 @@ LL |         lines_to_use.push(installed_id);
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/borrowck/regions-escape-bound-fn-2.stderr b/src/test/ui/borrowck/regions-escape-bound-fn-2.stderr
index 1dc60bb1554..14393bc8eee 100644
--- a/src/test/ui/borrowck/regions-escape-bound-fn-2.stderr
+++ b/src/test/ui/borrowck/regions-escape-bound-fn-2.stderr
@@ -10,3 +10,4 @@ LL |     with_int(|y| x = Some(y));
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/borrowck/regions-escape-bound-fn.stderr b/src/test/ui/borrowck/regions-escape-bound-fn.stderr
index 5c548ec2876..a23fdacdee6 100644
--- a/src/test/ui/borrowck/regions-escape-bound-fn.stderr
+++ b/src/test/ui/borrowck/regions-escape-bound-fn.stderr
@@ -10,3 +10,4 @@ LL |     with_int(|y| x = Some(y));
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/borrowck/regions-escape-unboxed-closure.stderr b/src/test/ui/borrowck/regions-escape-unboxed-closure.stderr
index f2a49e70d27..153f77c8913 100644
--- a/src/test/ui/borrowck/regions-escape-unboxed-closure.stderr
+++ b/src/test/ui/borrowck/regions-escape-unboxed-closure.stderr
@@ -10,3 +10,4 @@ LL |     with_int(&mut |y| x = Some(y));
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/bound-suggestions.fixed b/src/test/ui/bound-suggestions.fixed
index a3fe67a9595..be61b7dda25 100644
--- a/src/test/ui/bound-suggestions.fixed
+++ b/src/test/ui/bound-suggestions.fixed
@@ -40,4 +40,29 @@ fn test_many_bounds_where<X>(x: X) where X: Sized, X: Sized, X: Debug {
     //~^ ERROR doesn't implement
 }
 
-pub fn main() { }
+trait Foo<T>: Sized {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Bar: std::fmt::Display + Sized {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Baz: Sized where Self: std::fmt::Display {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Qux<T>: Sized where Self: std::fmt::Display {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Bat<T>: std::fmt::Display + Sized {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+fn main() { }
diff --git a/src/test/ui/bound-suggestions.rs b/src/test/ui/bound-suggestions.rs
index de6133d7f59..86f708d42f5 100644
--- a/src/test/ui/bound-suggestions.rs
+++ b/src/test/ui/bound-suggestions.rs
@@ -40,4 +40,29 @@ fn test_many_bounds_where<X>(x: X) where X: Sized, X: Sized {
     //~^ ERROR doesn't implement
 }
 
-pub fn main() { }
+trait Foo<T> {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Bar: std::fmt::Display {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Baz where Self: std::fmt::Display {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Qux<T> where Self: std::fmt::Display {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+trait Bat<T>: std::fmt::Display {
+    const SIZE: usize = core::mem::size_of::<Self>();
+    //~^ ERROR the size for values of type `Self` cannot be known at compilation time
+}
+
+fn main() { }
diff --git a/src/test/ui/bound-suggestions.stderr b/src/test/ui/bound-suggestions.stderr
index 010f95d8ad6..12e67e90265 100644
--- a/src/test/ui/bound-suggestions.stderr
+++ b/src/test/ui/bound-suggestions.stderr
@@ -76,6 +76,86 @@ help: consider further restricting type parameter `X`
 LL | fn test_many_bounds_where<X>(x: X) where X: Sized, X: Sized, X: Debug {
    |                                                            ^^^^^^^^^^
 
-error: aborting due to 6 previous errors
+error[E0277]: the size for values of type `Self` cannot be known at compilation time
+  --> $DIR/bound-suggestions.rs:44:46
+   |
+LL |     const SIZE: usize = core::mem::size_of::<Self>();
+   |                                              ^^^^ doesn't have a size known at compile-time
+   | 
+  ::: $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL | pub const fn size_of<T>() -> usize {
+   |                      - required by this bound in `std::mem::size_of`
+   |
+help: consider further restricting `Self`
+   |
+LL | trait Foo<T>: Sized {
+   |             ^^^^^^^
+
+error[E0277]: the size for values of type `Self` cannot be known at compilation time
+  --> $DIR/bound-suggestions.rs:49:46
+   |
+LL |     const SIZE: usize = core::mem::size_of::<Self>();
+   |                                              ^^^^ doesn't have a size known at compile-time
+   | 
+  ::: $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL | pub const fn size_of<T>() -> usize {
+   |                      - required by this bound in `std::mem::size_of`
+   |
+help: consider further restricting `Self`
+   |
+LL | trait Bar: std::fmt::Display + Sized {
+   |                              ^^^^^^^
+
+error[E0277]: the size for values of type `Self` cannot be known at compilation time
+  --> $DIR/bound-suggestions.rs:54:46
+   |
+LL |     const SIZE: usize = core::mem::size_of::<Self>();
+   |                                              ^^^^ doesn't have a size known at compile-time
+   | 
+  ::: $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL | pub const fn size_of<T>() -> usize {
+   |                      - required by this bound in `std::mem::size_of`
+   |
+help: consider further restricting `Self`
+   |
+LL | trait Baz: Sized where Self: std::fmt::Display {
+   |          ^^^^^^^
+
+error[E0277]: the size for values of type `Self` cannot be known at compilation time
+  --> $DIR/bound-suggestions.rs:59:46
+   |
+LL |     const SIZE: usize = core::mem::size_of::<Self>();
+   |                                              ^^^^ doesn't have a size known at compile-time
+   | 
+  ::: $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL | pub const fn size_of<T>() -> usize {
+   |                      - required by this bound in `std::mem::size_of`
+   |
+help: consider further restricting `Self`
+   |
+LL | trait Qux<T>: Sized where Self: std::fmt::Display {
+   |             ^^^^^^^
+
+error[E0277]: the size for values of type `Self` cannot be known at compilation time
+  --> $DIR/bound-suggestions.rs:64:46
+   |
+LL |     const SIZE: usize = core::mem::size_of::<Self>();
+   |                                              ^^^^ doesn't have a size known at compile-time
+   | 
+  ::: $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL | pub const fn size_of<T>() -> usize {
+   |                      - required by this bound in `std::mem::size_of`
+   |
+help: consider further restricting `Self`
+   |
+LL | trait Bat<T>: std::fmt::Display + Sized {
+   |                                 ^^^^^^^
+
+error: aborting due to 11 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/fat-ptr-cast-rpass.rs b/src/test/ui/cast/fat-ptr-cast-rpass.rs
index 5f5e621d762..5f5e621d762 100644
--- a/src/test/ui/fat-ptr-cast-rpass.rs
+++ b/src/test/ui/cast/fat-ptr-cast-rpass.rs
diff --git a/src/test/ui/fat-ptr-cast.rs b/src/test/ui/cast/fat-ptr-cast.rs
index a0fad583a16..a0fad583a16 100644
--- a/src/test/ui/fat-ptr-cast.rs
+++ b/src/test/ui/cast/fat-ptr-cast.rs
diff --git a/src/test/ui/fat-ptr-cast.stderr b/src/test/ui/cast/fat-ptr-cast.stderr
index 0b0c288fe3b..0b0c288fe3b 100644
--- a/src/test/ui/fat-ptr-cast.stderr
+++ b/src/test/ui/cast/fat-ptr-cast.stderr
diff --git a/src/test/ui/issues/issue-17444.rs b/src/test/ui/cast/issue-17444.rs
index 906b443c9fa..906b443c9fa 100644
--- a/src/test/ui/issues/issue-17444.rs
+++ b/src/test/ui/cast/issue-17444.rs
diff --git a/src/test/ui/issues/issue-17444.stderr b/src/test/ui/cast/issue-17444.stderr
index 1097079dfc1..1097079dfc1 100644
--- a/src/test/ui/issues/issue-17444.stderr
+++ b/src/test/ui/cast/issue-17444.stderr
diff --git a/src/test/ui/cast/unsupported-cast.rs b/src/test/ui/cast/unsupported-cast.rs
new file mode 100644
index 00000000000..1384ecc6ef2
--- /dev/null
+++ b/src/test/ui/cast/unsupported-cast.rs
@@ -0,0 +1,5 @@
+struct A;
+
+fn main() {
+  println!("{:?}", 1.0 as *const A); //~ERROR  casting `f64` as `*const A` is invalid
+}
diff --git a/src/test/ui/unsupported-cast.stderr b/src/test/ui/cast/unsupported-cast.stderr
index 63e7713d2f4..56a375a1d94 100644
--- a/src/test/ui/unsupported-cast.stderr
+++ b/src/test/ui/cast/unsupported-cast.stderr
@@ -1,7 +1,7 @@
 error[E0606]: casting `f64` as `*const A` is invalid
-  --> $DIR/unsupported-cast.rs:6:20
+  --> $DIR/unsupported-cast.rs:4:20
    |
-LL |   println!("{:?}", 1.0 as *const A); // Can't cast float to foreign.
+LL |   println!("{:?}", 1.0 as *const A);
    |                    ^^^^^^^^^^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs b/src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs
new file mode 100644
index 00000000000..24d2dc64551
--- /dev/null
+++ b/src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs
@@ -0,0 +1,38 @@
+// run-pass
+// aux-build:ver-cfg-rel.rs
+// revisions: assume no_assume
+// [assume]compile-flags: -Z assume-incomplete-release
+
+#![feature(cfg_version)]
+
+extern crate ver_cfg_rel;
+
+use ver_cfg_rel::ver_cfg_rel;
+
+#[ver_cfg_rel("-2")]
+fn foo_2() { }
+
+#[ver_cfg_rel("-1")]
+fn foo_1() { }
+
+#[cfg(assume)]
+#[ver_cfg_rel("0")]
+fn foo() { compile_error!("wrong+0") }
+
+#[cfg(no_assume)]
+#[ver_cfg_rel("0")]
+fn foo() { }
+
+#[ver_cfg_rel("1")]
+fn bar() { compile_error!("wrong+1") }
+
+#[ver_cfg_rel("2")]
+fn bar() { compile_error!("wrong+2") }
+
+fn main() {
+    foo_2();
+    foo_1();
+
+    #[cfg(no_assume)]
+    foo();
+}
diff --git a/src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs b/src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs
new file mode 100644
index 00000000000..6787527027e
--- /dev/null
+++ b/src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs
@@ -0,0 +1,56 @@
+// force-host
+// no-prefer-dynamic
+
+#![crate_type = "proc-macro"]
+
+extern crate proc_macro;
+use proc_macro::{TokenStream, TokenTree as Tt};
+use std::str::FromStr;
+
+// String containing the current version number of the tip, i.e. "1.41.2"
+static VERSION_NUMBER: &str = include_str!("../../../../../version");
+
+#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+struct Version {
+    major: i16,
+    minor: i16,
+    patch: i16,
+}
+
+fn parse_version(s: &str) -> Option<Version> {
+    let mut digits = s.splitn(3, '.');
+    let major = digits.next()?.parse().ok()?;
+    let minor = digits.next()?.parse().ok()?;
+    let patch = digits.next().unwrap_or("0").trim().parse().ok()?;
+    Some(Version { major, minor, patch })
+}
+
+#[proc_macro_attribute]
+/// Emits a #[cfg(version)] relative to the current one, so passing
+/// -1 as argument on compiler 1.50 will emit #[cfg(version("1.49.0"))],
+/// while 1 will emit #[cfg(version("1.51.0"))]
+pub fn ver_cfg_rel(attr: TokenStream, input: TokenStream) -> TokenStream {
+    let mut v_rel = None;
+    for a in attr.into_iter() {
+        match a {
+            Tt::Literal(l) => {
+                let mut s = l.to_string();
+                let s = s.trim_matches('"');
+                let v: i16 = s.parse().unwrap();
+                v_rel = Some(v);
+                break;
+            },
+            _ => panic!("{:?}", a),
+        }
+    }
+    let v_rel = v_rel.unwrap();
+
+    let mut v = parse_version(VERSION_NUMBER).unwrap();
+    v.minor += v_rel;
+
+    let attr_str = format!("#[cfg(version(\"{}.{}.{}\"))]", v.major, v.minor, v.patch);
+    let mut res = Vec::<Tt>::new();
+    res.extend(TokenStream::from_str(&attr_str).unwrap().into_iter());
+    res.extend(input.into_iter());
+    res.into_iter().collect()
+}
diff --git a/src/test/ui/check-static-immutable-mut-slices.rs b/src/test/ui/check-static-immutable-mut-slices.rs
index 3be02f6a0f6..8f9680778aa 100644
--- a/src/test/ui/check-static-immutable-mut-slices.rs
+++ b/src/test/ui/check-static-immutable-mut-slices.rs
@@ -1,6 +1,6 @@
 // Checks that immutable static items can't have mutable slices
 
 static TEST: &'static mut [isize] = &mut [];
-//~^ ERROR mutable references are not allowed in statics
+//~^ ERROR mutable references are not allowed
 
 pub fn main() { }
diff --git a/src/test/ui/check-static-immutable-mut-slices.stderr b/src/test/ui/check-static-immutable-mut-slices.stderr
index 9ffbb483d13..a32a94c1315 100644
--- a/src/test/ui/check-static-immutable-mut-slices.stderr
+++ b/src/test/ui/check-static-immutable-mut-slices.stderr
@@ -1,8 +1,8 @@
-error[E0764]: mutable references are not allowed in statics
+error[E0764]: mutable references are not allowed in the final value of statics
   --> $DIR/check-static-immutable-mut-slices.rs:3:37
    |
 LL | static TEST: &'static mut [isize] = &mut [];
-   |                                     ^^^^^^^ `&mut` is only allowed in `const fn`
+   |                                     ^^^^^^^
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/closures/2229_closure_analysis/by_value.rs b/src/test/ui/closures/2229_closure_analysis/by_value.rs
new file mode 100644
index 00000000000..1007fb582e5
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/by_value.rs
@@ -0,0 +1,41 @@
+// Test that we handle derferences properly when only some of the captures are being moved with
+// `capture_disjoint_fields` enabled.
+
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+#[derive(Debug, Default)]
+struct SomeLargeType;
+struct MuchLargerType([SomeLargeType; 32]);
+
+// Ensure that we don't capture any derefs when moving captures into the closures,
+// i.e. only data from the enclosing stack is moved.
+fn big_box() {
+    let s = MuchLargerType(Default::default());
+    let b = Box::new(s);
+    let t = (b, 10);
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ First Pass analysis includes:
+    //~| Min Capture analysis includes:
+        let p = t.0.0;
+        //~^ NOTE: Capturing t[(0, 0),Deref,(0, 0)] -> ByValue
+        //~| NOTE: Min Capture t[(0, 0)] -> ByValue
+        println!("{} {:?}", t.1, p);
+        //~^ NOTE: Capturing t[(1, 0)] -> ImmBorrow
+        //~| NOTE: Min Capture t[(1, 0)] -> ImmBorrow
+    };
+
+    c();
+}
+
+fn main() {
+    big_box();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/by_value.stderr b/src/test/ui/closures/2229_closure_analysis/by_value.stderr
new file mode 100644
index 00000000000..fe04dbef6d8
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/by_value.stderr
@@ -0,0 +1,67 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/by_value.rs:22:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/by_value.rs:5:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/by_value.rs:25:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let p = t.0.0;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing t[(0, 0),Deref,(0, 0)] -> ByValue
+  --> $DIR/by_value.rs:28:17
+   |
+LL |         let p = t.0.0;
+   |                 ^^^^^
+note: Capturing t[(1, 0)] -> ImmBorrow
+  --> $DIR/by_value.rs:31:29
+   |
+LL |         println!("{} {:?}", t.1, p);
+   |                             ^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/by_value.rs:25:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let p = t.0.0;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture t[(0, 0)] -> ByValue
+  --> $DIR/by_value.rs:28:17
+   |
+LL |         let p = t.0.0;
+   |                 ^^^^^
+note: Min Capture t[(1, 0)] -> ImmBorrow
+  --> $DIR/by_value.rs:31:29
+   |
+LL |         println!("{} {:?}", t.1, p);
+   |                             ^^^
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-1.rs b/src/test/ui/closures/2229_closure_analysis/capture-analysis-1.rs
new file mode 100644
index 00000000000..4368c830e1c
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-1.rs
@@ -0,0 +1,35 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+#[derive(Debug)]
+struct Point {
+    x: i32,
+    y: i32,
+}
+
+fn main() {
+    let p = Point { x: 10, y: 10 };
+    let q = Point { x: 10, y: 10 };
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ First Pass analysis includes:
+    //~| Min Capture analysis includes:
+        println!("{:?}", p);
+        //~^ NOTE: Capturing p[] -> ImmBorrow
+        //~| NOTE: Min Capture p[] -> ImmBorrow
+        println!("{:?}", p.x);
+        //~^ NOTE: Capturing p[(0, 0)] -> ImmBorrow
+
+        println!("{:?}", q.x);
+        //~^ NOTE: Capturing q[(0, 0)] -> ImmBorrow
+        println!("{:?}", q);
+        //~^ NOTE: Capturing q[] -> ImmBorrow
+        //~| NOTE: Min Capture q[] -> ImmBorrow
+    };
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-1.stderr b/src/test/ui/closures/2229_closure_analysis/capture-analysis-1.stderr
new file mode 100644
index 00000000000..09255343af0
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-1.stderr
@@ -0,0 +1,77 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/capture-analysis-1.rs:17:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/capture-analysis-1.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/capture-analysis-1.rs:20:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         println!("{:?}", p);
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing p[] -> ImmBorrow
+  --> $DIR/capture-analysis-1.rs:23:26
+   |
+LL |         println!("{:?}", p);
+   |                          ^
+note: Capturing p[(0, 0)] -> ImmBorrow
+  --> $DIR/capture-analysis-1.rs:26:26
+   |
+LL |         println!("{:?}", p.x);
+   |                          ^^^
+note: Capturing q[(0, 0)] -> ImmBorrow
+  --> $DIR/capture-analysis-1.rs:29:26
+   |
+LL |         println!("{:?}", q.x);
+   |                          ^^^
+note: Capturing q[] -> ImmBorrow
+  --> $DIR/capture-analysis-1.rs:31:26
+   |
+LL |         println!("{:?}", q);
+   |                          ^
+
+error: Min Capture analysis includes:
+  --> $DIR/capture-analysis-1.rs:20:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         println!("{:?}", p);
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture p[] -> ImmBorrow
+  --> $DIR/capture-analysis-1.rs:23:26
+   |
+LL |         println!("{:?}", p);
+   |                          ^
+note: Min Capture q[] -> ImmBorrow
+  --> $DIR/capture-analysis-1.rs:31:26
+   |
+LL |         println!("{:?}", q);
+   |                          ^
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-2.rs b/src/test/ui/closures/2229_closure_analysis/capture-analysis-2.rs
new file mode 100644
index 00000000000..ab7fce6a430
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-2.rs
@@ -0,0 +1,30 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+#[derive(Debug)]
+struct Point {
+    x: String,
+    y: i32,
+}
+
+fn main() {
+    let mut p = Point { x: String::new(), y: 10 };
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ First Pass analysis includes:
+    //~| Min Capture analysis includes:
+        let _x = p.x;
+        //~^ NOTE: Capturing p[(0, 0)] -> ByValue
+        //~| NOTE: p[] captured as ByValue here
+        println!("{:?}", p);
+        //~^ NOTE: Capturing p[] -> ImmBorrow
+        //~| NOTE: Min Capture p[] -> ByValue
+        //~| NOTE: p[] used here
+    };
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-2.stderr b/src/test/ui/closures/2229_closure_analysis/capture-analysis-2.stderr
new file mode 100644
index 00000000000..0e48d6b300b
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-2.stderr
@@ -0,0 +1,65 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/capture-analysis-2.rs:16:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/capture-analysis-2.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/capture-analysis-2.rs:19:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let _x = p.x;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing p[(0, 0)] -> ByValue
+  --> $DIR/capture-analysis-2.rs:22:18
+   |
+LL |         let _x = p.x;
+   |                  ^^^
+note: Capturing p[] -> ImmBorrow
+  --> $DIR/capture-analysis-2.rs:25:26
+   |
+LL |         println!("{:?}", p);
+   |                          ^
+
+error: Min Capture analysis includes:
+  --> $DIR/capture-analysis-2.rs:19:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let _x = p.x;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture p[] -> ByValue
+  --> $DIR/capture-analysis-2.rs:22:18
+   |
+LL |         let _x = p.x;
+   |                  ^^^ p[] captured as ByValue here
+...
+LL |         println!("{:?}", p);
+   |                          ^ p[] used here
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-3.rs b/src/test/ui/closures/2229_closure_analysis/capture-analysis-3.rs
new file mode 100644
index 00000000000..817ade899e2
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-3.rs
@@ -0,0 +1,35 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+#[derive(Debug)]
+struct Child {
+    c: String,
+    d: String,
+}
+
+#[derive(Debug)]
+struct Parent {
+    b: Child,
+}
+
+fn main() {
+    let mut a = Parent { b: Child {c: String::new(), d: String::new()} };
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ First Pass analysis includes:
+    //~| Min Capture analysis includes:
+        let _x = a.b.c;
+        //~^ NOTE: Capturing a[(0, 0),(0, 0)] -> ByValue
+        //~| NOTE: a[(0, 0)] captured as ByValue here
+        println!("{:?}", a.b);
+        //~^ NOTE: Capturing a[(0, 0)] -> ImmBorrow
+        //~| NOTE: Min Capture a[(0, 0)] -> ByValue
+        //~| NOTE: a[(0, 0)] used here
+    };
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-3.stderr b/src/test/ui/closures/2229_closure_analysis/capture-analysis-3.stderr
new file mode 100644
index 00000000000..263e9ca56eb
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-3.stderr
@@ -0,0 +1,65 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/capture-analysis-3.rs:21:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/capture-analysis-3.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/capture-analysis-3.rs:24:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let _x = a.b.c;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing a[(0, 0),(0, 0)] -> ByValue
+  --> $DIR/capture-analysis-3.rs:27:18
+   |
+LL |         let _x = a.b.c;
+   |                  ^^^^^
+note: Capturing a[(0, 0)] -> ImmBorrow
+  --> $DIR/capture-analysis-3.rs:30:26
+   |
+LL |         println!("{:?}", a.b);
+   |                          ^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/capture-analysis-3.rs:24:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let _x = a.b.c;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture a[(0, 0)] -> ByValue
+  --> $DIR/capture-analysis-3.rs:27:18
+   |
+LL |         let _x = a.b.c;
+   |                  ^^^^^ a[(0, 0)] captured as ByValue here
+...
+LL |         println!("{:?}", a.b);
+   |                          ^^^ a[(0, 0)] used here
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-4.rs b/src/test/ui/closures/2229_closure_analysis/capture-analysis-4.rs
new file mode 100644
index 00000000000..e8401299b30
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-4.rs
@@ -0,0 +1,33 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+#[derive(Debug)]
+struct Child {
+    c: String,
+    d: String,
+}
+
+#[derive(Debug)]
+struct Parent {
+    b: Child,
+}
+
+fn main() {
+    let mut a = Parent { b: Child {c: String::new(), d: String::new()} };
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ First Pass analysis includes:
+    //~| Min Capture analysis includes:
+        let _x = a.b;
+        //~^ NOTE: Capturing a[(0, 0)] -> ByValue
+        //~| NOTE: Min Capture a[(0, 0)] -> ByValue
+        println!("{:?}", a.b.c);
+        //~^ NOTE: Capturing a[(0, 0),(0, 0)] -> ImmBorrow
+    };
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/capture-analysis-4.stderr b/src/test/ui/closures/2229_closure_analysis/capture-analysis-4.stderr
new file mode 100644
index 00000000000..f4605c1d51b
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/capture-analysis-4.stderr
@@ -0,0 +1,62 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/capture-analysis-4.rs:21:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/capture-analysis-4.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/capture-analysis-4.rs:24:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let _x = a.b;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing a[(0, 0)] -> ByValue
+  --> $DIR/capture-analysis-4.rs:27:18
+   |
+LL |         let _x = a.b;
+   |                  ^^^
+note: Capturing a[(0, 0),(0, 0)] -> ImmBorrow
+  --> $DIR/capture-analysis-4.rs:30:26
+   |
+LL |         println!("{:?}", a.b.c);
+   |                          ^^^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/capture-analysis-4.rs:24:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let _x = a.b;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture a[(0, 0)] -> ByValue
+  --> $DIR/capture-analysis-4.rs:27:18
+   |
+LL |         let _x = a.b;
+   |                  ^^^
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.rs b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.rs
new file mode 100644
index 00000000000..f81866bb7e0
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.rs
@@ -0,0 +1,52 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+#![allow(unused)]
+
+#[derive(Debug)]
+struct Point {
+    x: i32,
+    y: i32,
+}
+#[derive(Debug)]
+struct Line {
+    p: Point,
+    q: Point
+}
+#[derive(Debug)]
+struct Plane {
+    a: Line,
+    b: Line,
+}
+
+fn main() {
+    let mut p = Plane {
+        a: Line {
+            p: Point { x: 1,y: 2 },
+            q: Point { x: 3,y: 4 },
+        },
+        b: Line {
+            p: Point { x: 1,y: 2 },
+            q: Point { x: 3,y: 4 },
+        }
+    };
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        let x = &p.a.p.x;
+        //~^ NOTE: Capturing p[(0, 0),(0, 0),(0, 0)] -> ImmBorrow
+        p.b.q.y = 9;
+        //~^ NOTE: Capturing p[(1, 0),(1, 0),(1, 0)] -> MutBorrow
+        //~| NOTE: p[] captured as MutBorrow here
+        println!("{:?}", p);
+        //~^ NOTE: Capturing p[] -> ImmBorrow
+        //~| NOTE: Min Capture p[] -> MutBorrow
+        //~| NOTE: p[] used here
+    };
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.stderr b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.stderr
new file mode 100644
index 00000000000..863f1009131
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.stderr
@@ -0,0 +1,70 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/deep-multilevel-struct.rs:36:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/deep-multilevel-struct.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/deep-multilevel-struct.rs:39:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let x = &p.a.p.x;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing p[(0, 0),(0, 0),(0, 0)] -> ImmBorrow
+  --> $DIR/deep-multilevel-struct.rs:42:18
+   |
+LL |         let x = &p.a.p.x;
+   |                  ^^^^^^^
+note: Capturing p[(1, 0),(1, 0),(1, 0)] -> MutBorrow
+  --> $DIR/deep-multilevel-struct.rs:44:9
+   |
+LL |         p.b.q.y = 9;
+   |         ^^^^^^^
+note: Capturing p[] -> ImmBorrow
+  --> $DIR/deep-multilevel-struct.rs:47:26
+   |
+LL |         println!("{:?}", p);
+   |                          ^
+
+error: Min Capture analysis includes:
+  --> $DIR/deep-multilevel-struct.rs:39:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let x = &p.a.p.x;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture p[] -> MutBorrow
+  --> $DIR/deep-multilevel-struct.rs:44:9
+   |
+LL |         p.b.q.y = 9;
+   |         ^^^^^^^ p[] captured as MutBorrow here
+...
+LL |         println!("{:?}", p);
+   |                          ^ p[] used here
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.rs b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.rs
new file mode 100644
index 00000000000..fb03a02efa0
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.rs
@@ -0,0 +1,27 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+#![allow(unused)]
+
+fn main() {
+    let mut t = (((1,2),(3,4)),((5,6),(7,8)));
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        let x = &t.0.0.0;
+        //~^ NOTE: Capturing t[(0, 0),(0, 0),(0, 0)] -> ImmBorrow
+        t.1.1.1 = 9;
+        //~^ NOTE: Capturing t[(1, 0),(1, 0),(1, 0)] -> MutBorrow
+        //~| NOTE: t[] captured as MutBorrow here
+        println!("{:?}", t);
+        //~^ NOTE: Min Capture t[] -> MutBorrow
+        //~| NOTE: Capturing t[] -> ImmBorrow
+        //~| NOTE: t[] used here
+    };
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.stderr b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.stderr
new file mode 100644
index 00000000000..252db444732
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/deep-multilevel-tuple.stderr
@@ -0,0 +1,70 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/deep-multilevel-tuple.rs:11:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/deep-multilevel-tuple.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/deep-multilevel-tuple.rs:14:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let x = &t.0.0.0;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing t[(0, 0),(0, 0),(0, 0)] -> ImmBorrow
+  --> $DIR/deep-multilevel-tuple.rs:17:18
+   |
+LL |         let x = &t.0.0.0;
+   |                  ^^^^^^^
+note: Capturing t[(1, 0),(1, 0),(1, 0)] -> MutBorrow
+  --> $DIR/deep-multilevel-tuple.rs:19:9
+   |
+LL |         t.1.1.1 = 9;
+   |         ^^^^^^^
+note: Capturing t[] -> ImmBorrow
+  --> $DIR/deep-multilevel-tuple.rs:22:26
+   |
+LL |         println!("{:?}", t);
+   |                          ^
+
+error: Min Capture analysis includes:
+  --> $DIR/deep-multilevel-tuple.rs:14:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let x = &t.0.0.0;
+...  |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture t[] -> MutBorrow
+  --> $DIR/deep-multilevel-tuple.rs:19:9
+   |
+LL |         t.1.1.1 = 9;
+   |         ^^^^^^^ t[] captured as MutBorrow here
+...
+LL |         println!("{:?}", t);
+   |                          ^ t[] used here
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.rs
new file mode 100644
index 00000000000..1ea38e260b6
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.rs
@@ -0,0 +1,20 @@
+// Test that if we deref an immutable borrow to access a Place,
+// then we can't mutate the final place.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+fn main() {
+    let mut x = (format!(""), format!("X2"));
+    let mut y = (&x, "Y");
+    let z = (&mut y, "Z");
+
+    // `x.0` is mutable but we access `x` via `z.0.0`, which is an immutable reference and
+    // therefore can't be mutated.
+    let mut c = || {
+    //~^ ERROR: cannot borrow `z.0.0.0` as mutable, as it is behind a `&` reference
+        z.0.0.0 = format!("X1");
+    };
+
+    c();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.stderr
new file mode 100644
index 00000000000..861bc44b78d
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm-borrow.stderr
@@ -0,0 +1,21 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/cant-mutate-imm-borrow.rs:4:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0596]: cannot borrow `z.0.0.0` as mutable, as it is behind a `&` reference
+  --> $DIR/cant-mutate-imm-borrow.rs:14:17
+   |
+LL |     let mut c = || {
+   |                 ^^ cannot borrow as mutable
+LL |
+LL |         z.0.0.0 = format!("X1");
+   |         - mutable borrow occurs due to use of `z.0.0.0` in closure
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.rs
new file mode 100644
index 00000000000..997ecc7dddd
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.rs
@@ -0,0 +1,35 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+// Ensure that diagnostics for mutability error (because the root variable
+// isn't mutable) work with `capture_disjoint_fields` enabled.
+
+fn mut_error_struct() {
+    let x = (10, 10);
+    let y = (x, 10);
+    let z = (y, 10);
+
+    let mut c = || {
+        z.0.0.0 = 20;
+        //~^ ERROR: cannot assign to `z`, as it is not declared as mutable
+    };
+
+    c();
+}
+
+fn mut_error_box() {
+    let x = (10, 10);
+    let bx = Box::new(x);
+
+    let mut c = || {
+        bx.0 = 20;
+        //~^ ERROR: cannot assign to `bx`, as it is not declared as mutable
+    };
+
+    c();
+}
+
+fn main() {
+    mut_error_struct();
+    mut_error_box();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.stderr
new file mode 100644
index 00000000000..5e15635ac6e
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/cant-mutate-imm.stderr
@@ -0,0 +1,30 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/cant-mutate-imm.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0594]: cannot assign to `z`, as it is not declared as mutable
+  --> $DIR/cant-mutate-imm.rs:13:9
+   |
+LL |     let z = (y, 10);
+   |         - help: consider changing this to be mutable: `mut z`
+...
+LL |         z.0.0.0 = 20;
+   |         ^^^^^^^^^^^^ cannot assign
+
+error[E0594]: cannot assign to `bx`, as it is not declared as mutable
+  --> $DIR/cant-mutate-imm.rs:25:9
+   |
+LL |     let bx = Box::new(x);
+   |         -- help: consider changing this to be mutable: `mut bx`
+...
+LL |         bx.0 = 20;
+   |         ^^^^^^^^^ cannot assign
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0594`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.rs
new file mode 100644
index 00000000000..2916d8c794f
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.rs
@@ -0,0 +1,31 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| `#[warn(incomplete_features)]` on by default
+//~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+
+// Check that precise paths are being reported back in the error message.
+
+
+enum MultiVariant {
+    Point(i32, i32),
+    Meta(i32)
+}
+
+fn main() {
+    let mut point = MultiVariant::Point(10, -10,);
+
+    let mut meta = MultiVariant::Meta(1);
+
+    let c = || {
+        if let MultiVariant::Point(ref mut x, _) = point {
+            *x += 1;
+        }
+
+        if let MultiVariant::Meta(ref mut v) = meta {
+            *v += 1;
+        }
+    };
+
+    let a = c;
+    let b = c; //~ ERROR use of moved value: `c` [E0382]
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.stderr
new file mode 100644
index 00000000000..de0bfe3bd76
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.stderr
@@ -0,0 +1,26 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/closure-origin-multi-variant-diagnostics.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0382]: use of moved value: `c`
+  --> $DIR/closure-origin-multi-variant-diagnostics.rs:30:13
+   |
+LL |     let a = c;
+   |             - value moved here
+LL |     let b = c;
+   |             ^ value used here after move
+   |
+note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `point.0` out of its environment
+  --> $DIR/closure-origin-multi-variant-diagnostics.rs:20:52
+   |
+LL |         if let MultiVariant::Point(ref mut x, _) = point {
+   |                                                    ^^^^^
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.rs
new file mode 100644
index 00000000000..8486f03f2eb
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.rs
@@ -0,0 +1,26 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| `#[warn(incomplete_features)]` on by default
+//~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+
+// Check that precise paths are being reported back in the error message.
+
+enum SingleVariant {
+    Point(i32, i32),
+}
+
+fn main() {
+    let mut point = SingleVariant::Point(10, -10);
+
+    let c = || {
+        // FIXME(project-rfc-2229#24): Change this to be a destructure pattern
+        // once this is fixed, to remove the warning.
+        if let SingleVariant::Point(ref mut x, _) = point {
+            //~^ WARNING: irrefutable if-let pattern
+            *x += 1;
+        }
+    };
+
+    let b = c;
+    let a = c; //~ ERROR use of moved value: `c` [E0382]
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.stderr
new file mode 100644
index 00000000000..ad66f6d7ffc
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-single-variant-diagnostics.stderr
@@ -0,0 +1,37 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/closure-origin-single-variant-diagnostics.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: irrefutable if-let pattern
+  --> $DIR/closure-origin-single-variant-diagnostics.rs:18:9
+   |
+LL | /         if let SingleVariant::Point(ref mut x, _) = point {
+LL | |
+LL | |             *x += 1;
+LL | |         }
+   | |_________^
+   |
+   = note: `#[warn(irrefutable_let_patterns)]` on by default
+
+error[E0382]: use of moved value: `c`
+  --> $DIR/closure-origin-single-variant-diagnostics.rs:25:13
+   |
+LL |     let b = c;
+   |             - value moved here
+LL |     let a = c;
+   |             ^ value used here after move
+   |
+note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `point.0` out of its environment
+  --> $DIR/closure-origin-single-variant-diagnostics.rs:18:53
+   |
+LL |         if let SingleVariant::Point(ref mut x, _) = point {
+   |                                                     ^^^^^
+
+error: aborting due to previous error; 2 warnings emitted
+
+For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.rs
new file mode 100644
index 00000000000..103890f1f35
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.rs
@@ -0,0 +1,25 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| `#[warn(incomplete_features)]` on by default
+//~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+
+// Check that precise paths are being reported back in the error message.
+
+struct Y {
+    y: X
+}
+
+struct X {
+    a: u32,
+    b: u32,
+}
+
+fn main() {
+    let mut x = Y { y: X { a: 5, b: 0 } };
+    let hello = || {
+        x.y.a += 1;
+    };
+
+    let b = hello;
+    let c = hello; //~ ERROR use of moved value: `hello` [E0382]
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.stderr
new file mode 100644
index 00000000000..474d77b7cd2
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-struct-diagnostics.stderr
@@ -0,0 +1,26 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/closure-origin-struct-diagnostics.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0382]: use of moved value: `hello`
+  --> $DIR/closure-origin-struct-diagnostics.rs:24:13
+   |
+LL |     let b = hello;
+   |             ----- value moved here
+LL |     let c = hello;
+   |             ^^^^^ value used here after move
+   |
+note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `x.y.a` out of its environment
+  --> $DIR/closure-origin-struct-diagnostics.rs:20:9
+   |
+LL |         x.y.a += 1;
+   |         ^^^^^
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.rs
new file mode 100644
index 00000000000..6b078d2329c
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.rs
@@ -0,0 +1,16 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| `#[warn(incomplete_features)]` on by default
+//~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+
+// Check that precise paths are being reported back in the error message.
+
+fn main() {
+    let mut x = (5, 0);
+    let hello = || {
+        x.0 += 1;
+    };
+
+    let b = hello;
+    let c = hello; //~ ERROR use of moved value: `hello` [E0382]
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.stderr
new file mode 100644
index 00000000000..716728e96ec
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics-1.stderr
@@ -0,0 +1,26 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/closure-origin-tuple-diagnostics-1.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0382]: use of moved value: `hello`
+  --> $DIR/closure-origin-tuple-diagnostics-1.rs:15:13
+   |
+LL |     let b = hello;
+   |             ----- value moved here
+LL |     let c = hello;
+   |             ^^^^^ value used here after move
+   |
+note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `x.0` out of its environment
+  --> $DIR/closure-origin-tuple-diagnostics-1.rs:11:9
+   |
+LL |         x.0 += 1;
+   |         ^^^
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.rs
new file mode 100644
index 00000000000..0638db60769
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.rs
@@ -0,0 +1,15 @@
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| `#[warn(incomplete_features)]` on by default
+//~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+struct S(String, String);
+
+fn expect_fn<F: Fn()>(_f: F) {}
+
+fn main() {
+    let s = S(format!("s"), format!("s"));
+    let c = || { //~ ERROR expected a closure that implements the `Fn`
+        let s = s.1;
+    };
+    expect_fn(c);
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.stderr
new file mode 100644
index 00000000000..77eb2a94ffb
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-tuple-diagnostics.stderr
@@ -0,0 +1,23 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/closure-origin-tuple-diagnostics.rs:1:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0525]: expected a closure that implements the `Fn` trait, but this closure only implements `FnOnce`
+  --> $DIR/closure-origin-tuple-diagnostics.rs:11:13
+   |
+LL |     let c = || {
+   |             ^^ this closure implements `FnOnce`, not `Fn`
+LL |         let s = s.1;
+   |                 --- closure is `FnOnce` because it moves the variable `s.1` out of its environment
+LL |     };
+LL |     expect_fn(c);
+   |     --------- the requirement to implement `Fn` derives from here
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0525`.
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.rs b/src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.rs
new file mode 100644
index 00000000000..676fde558df
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.rs
@@ -0,0 +1,38 @@
+// Test that we can't mutate a place if we need to deref an imm-borrow
+// to reach it.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+fn imm_mut_ref() {
+    let mut x = String::new();
+    let y = String::new();
+    let mref_x = &mut x;
+    let ref_mref_x = &mref_x;
+
+    let c = || {
+    //~^ ERROR: cannot borrow `**ref_mref_x` as mutable, as it is behind a `&` reference
+        **ref_mref_x = y;
+    };
+
+    c();
+}
+
+fn mut_imm_ref() {
+    let x = String::new();
+    let y = String::new();
+    let mut ref_x = &x;
+    let mref_ref_x = &mut ref_x;
+
+    let c = || {
+    //~^ ERROR: cannot borrow `**mref_ref_x` as mutable, as it is behind a `&` reference
+        **mref_ref_x = y;
+    };
+
+    c();
+}
+
+fn main() {
+    imm_mut_ref();
+    mut_imm_ref();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.stderr b/src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.stderr
new file mode 100644
index 00000000000..8cb2ed2235d
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/diagnostics/mut_ref.stderr
@@ -0,0 +1,33 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/mut_ref.rs:4:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error[E0596]: cannot borrow `**ref_mref_x` as mutable, as it is behind a `&` reference
+  --> $DIR/mut_ref.rs:13:13
+   |
+LL |     let ref_mref_x = &mref_x;
+   |                      ------- help: consider changing this to be a mutable reference: `&mut mref_x`
+LL | 
+LL |     let c = || {
+   |             ^^ `ref_mref_x` is a `&` reference, so the data it refers to cannot be borrowed as mutable
+LL |
+LL |         **ref_mref_x = y;
+   |           ---------- mutable borrow occurs due to use of `**ref_mref_x` in closure
+
+error[E0596]: cannot borrow `**mref_ref_x` as mutable, as it is behind a `&` reference
+  --> $DIR/mut_ref.rs:27:13
+   |
+LL |     let c = || {
+   |             ^^ cannot borrow as mutable
+LL |
+LL |         **mref_ref_x = y;
+   |           ---------- mutable borrow occurs due to use of `**mref_ref_x` in closure
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.rs b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.rs
new file mode 100644
index 00000000000..02b37362096
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.rs
@@ -0,0 +1,130 @@
+#![deny(disjoint_capture_drop_reorder)]
+//~^ NOTE: the lint level is defined here
+
+// Test cases for types that implement a insignificant drop (stlib defined)
+
+// `t` needs Drop because one of its elements needs drop,
+// therefore precise capture might affect drop ordering
+fn test1_all_need_migration() {
+    let t = (String::new(), String::new());
+    let t1 = (String::new(), String::new());
+    let t2 = (String::new(), String::new());
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t, t1, t2));
+        let _t = t.0;
+        let _t1 = t1.0;
+        let _t2 = t2.0;
+    };
+
+    c();
+}
+
+// String implements drop and therefore should be migrated.
+// But in this test cases, `t2` is completely captured and when it is dropped won't be affected
+fn test2_only_precise_paths_need_migration() {
+    let t = (String::new(), String::new());
+    let t1 = (String::new(), String::new());
+    let t2 = (String::new(), String::new());
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t, t1));
+        let _t = t.0;
+        let _t1 = t1.0;
+        let _t2 = t2;
+    };
+
+    c();
+}
+
+// If a variable would've not been captured by value then it would've not been
+// dropped with the closure and therefore doesn't need migration.
+fn test3_only_by_value_need_migration() {
+    let t = (String::new(), String::new());
+    let t1 = (String::new(), String::new());
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+        println!("{}", t1.1);
+    };
+
+    c();
+}
+
+// Copy types get copied into the closure instead of move. Therefore we don't need to
+// migrate then as their drop order isn't tied to the closure.
+fn test4_only_non_copy_types_need_migration() {
+    let t = (String::new(), String::new());
+
+    // `t1` is Copy because all of its elements are Copy
+    let t1 = (0i32, 0i32);
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+        let _t1 = t1.0;
+    };
+
+    c();
+}
+
+fn test5_only_drop_types_need_migration() {
+    struct S(i32, i32);
+
+    let t = (String::new(), String::new());
+
+    // `s` doesn't implement Drop or any elements within it, and doesn't need migration
+    let s = S(0i32, 0i32);
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+        let _s = s.0;
+    };
+
+    c();
+}
+
+// Since we are using a move closure here, both `t` and `t1` get moved
+// even though they are being used by ref inside the closure.
+fn test6_move_closures_non_copy_types_might_need_migration() {
+    let t = (String::new(), String::new());
+    let t1 = (String::new(), String::new());
+    let c = move || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t1, t));
+        println!("{} {}", t1.1, t.1);
+    };
+
+    c();
+}
+
+// Test migration analysis in case of Drop + Non Drop aggregates.
+// Note we need migration here only because the non-copy (because Drop type) is captured,
+// otherwise we won't need to, since we can get away with just by ref capture in that case.
+fn test7_drop_non_drop_aggregate_need_migration() {
+    let t = (String::new(), String::new(), 0i32);
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+    };
+
+    c();
+}
+
+fn main() {
+    test1_all_need_migration();
+    test2_only_precise_paths_need_migration();
+    test3_only_by_value_need_migration();
+    test4_only_non_copy_types_need_migration();
+    test5_only_drop_types_need_migration();
+    test6_move_closures_non_copy_types_might_need_migration();
+    test7_drop_non_drop_aggregate_need_migration();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr
new file mode 100644
index 00000000000..656c132c12d
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/migrations/insignificant_drop.stderr
@@ -0,0 +1,105 @@
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:13:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         let _t1 = t1.0;
+LL | |         let _t2 = t2.0;
+LL | |     };
+   | |_____^
+   |
+note: the lint level is defined here
+  --> $DIR/insignificant_drop.rs:1:9
+   |
+LL | #![deny(disjoint_capture_drop_reorder)]
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   = note: drop(&(t, t1, t2));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:31:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         let _t1 = t1.0;
+LL | |         let _t2 = t2;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t, t1));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:47:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         println!("{}", t1.1);
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:65:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         let _t1 = t1.0;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:83:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         let _s = s.0;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:98:13
+   |
+LL |       let c = move || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         println!("{} {}", t1.1, t.1);
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t1, t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/insignificant_drop.rs:113:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: aborting due to 7 previous errors
+
diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/no_migrations.rs b/src/test/ui/closures/2229_closure_analysis/migrations/no_migrations.rs
new file mode 100644
index 00000000000..73592ce04c2
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/migrations/no_migrations.rs
@@ -0,0 +1,84 @@
+// run-pass
+
+// Set of test cases that don't need migrations
+
+#![deny(disjoint_capture_drop_reorder)]
+
+
+// Copy types as copied by the closure instead of being moved into the closure
+// Therefore their drop order isn't tied to the closure and won't be requiring any
+// migrations.
+fn test1_only_copy_types() {
+    let t = (0i32, 0i32);
+
+    let c = || {
+        let _t = t.0;
+    };
+
+    c();
+}
+
+// Same as test1 but using a move closure
+fn test2_only_copy_types_move_closure() {
+    let t = (0i32, 0i32);
+
+    let c = move || {
+        println!("{}", t.0);
+    };
+
+    c();
+}
+
+// Don't need to migrate if captured by ref
+fn test3_only_copy_types_move_closure() {
+    let t = (String::new(), String::new());
+
+    let c = || {
+        println!("{}", t.0);
+    };
+
+    c();
+}
+
+// Test migration analysis in case of Insignificant Drop + Non Drop aggregates.
+// Note in this test the closure captures a non Drop type and therefore the variable
+// is only captured by ref.
+fn test4_insignificant_drop_non_drop_aggregate() {
+    let t = (String::new(), 0i32);
+
+    let c = || {
+        let _t = t.1;
+    };
+
+    c();
+}
+
+
+struct Foo(i32);
+impl Drop for Foo {
+    fn drop(&mut self) {
+        println!("{:?} dropped", self.0);
+    }
+}
+
+// Test migration analysis in case of Significant Drop + Non Drop aggregates.
+// Note in this test the closure captures a non Drop type and therefore the variable
+// is only captured by ref.
+fn test5_significant_drop_non_drop_aggregate() {
+    let t = (Foo(0), 0i32);
+
+    let c = || {
+        let _t = t.1;
+    };
+
+    c();
+}
+
+fn main() {
+    test1_only_copy_types();
+    test2_only_copy_types_move_closure();
+    test3_only_copy_types_move_closure();
+    test4_insignificant_drop_non_drop_aggregate();
+    test5_significant_drop_non_drop_aggregate();
+
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.rs b/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.rs
new file mode 100644
index 00000000000..ed5e4ea8be0
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.rs
@@ -0,0 +1,137 @@
+#![deny(disjoint_capture_drop_reorder)]
+//~^ NOTE: the lint level is defined here
+
+// Test cases for types that implement a significant drop (user defined)
+
+#[derive(Debug)]
+struct Foo(i32);
+impl Drop for Foo {
+    fn drop(&mut self) {
+        println!("{:?} dropped", self.0);
+    }
+}
+
+#[derive(Debug)]
+struct ConstainsDropField(Foo, Foo);
+
+// `t` needs Drop because one of its elements needs drop,
+// therefore precise capture might affect drop ordering
+fn test1_all_need_migration() {
+    let t = (Foo(0), Foo(0));
+    let t1 = (Foo(0), Foo(0));
+    let t2 = (Foo(0), Foo(0));
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t, t1, t2));
+        let _t = t.0;
+        let _t1 = t1.0;
+        let _t2 = t2.0;
+    };
+
+    c();
+}
+
+// String implements drop and therefore should be migrated.
+// But in this test cases, `t2` is completely captured and when it is dropped won't be affected
+fn test2_only_precise_paths_need_migration() {
+    let t = (Foo(0), Foo(0));
+    let t1 = (Foo(0), Foo(0));
+    let t2 = (Foo(0), Foo(0));
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t, t1));
+        let _t = t.0;
+        let _t1 = t1.0;
+        let _t2 = t2;
+    };
+
+    c();
+}
+
+// If a variable would've not been captured by value then it would've not been
+// dropped with the closure and therefore doesn't need migration.
+fn test3_only_by_value_need_migration() {
+    let t = (Foo(0), Foo(0));
+    let t1 = (Foo(0), Foo(0));
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+        println!("{:?}", t1.1);
+    };
+
+    c();
+}
+
+// The root variable might not implement drop themselves but some path starting
+// at the root variable might implement Drop.
+//
+// If this path isn't captured we need to migrate for the root variable.
+fn test4_type_contains_drop_need_migration() {
+    let t = ConstainsDropField(Foo(0), Foo(0));
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+    };
+
+    c();
+}
+
+// Test migration analysis in case of Drop + Non Drop aggregates.
+// Note we need migration here only because the non-copy (because Drop type) is captured,
+// otherwise we won't need to, since we can get away with just by ref capture in that case.
+fn test5_drop_non_drop_aggregate_need_migration() {
+    let t = (Foo(0), Foo(0), 0i32);
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.0;
+    };
+
+    c();
+}
+
+// Test migration analysis in case of Significant and Insignificant Drop aggregates.
+fn test6_significant_insignificant_drop_aggregate_need_migration() {
+    struct S(i32, i32);
+
+    let t = (Foo(0), String::new());
+
+    let c = || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t));
+        let _t = t.1;
+    };
+
+    c();
+}
+
+// Since we are using a move closure here, both `t` and `t1` get moved
+// even though they are being used by ref inside the closure.
+fn test7_move_closures_non_copy_types_might_need_migration() {
+    let t = (Foo(0), Foo(0));
+    let t1 = (Foo(0), Foo(0), Foo(0));
+
+    let c = move || {
+    //~^ERROR: drop order affected for closure because of `capture_disjoint_fields`
+    //~| NOTE: drop(&(t1, t));
+        println!("{:?} {:?}", t1.1, t.1);
+    };
+
+    c();
+}
+
+fn main() {
+    test1_all_need_migration();
+    test2_only_precise_paths_need_migration();
+    test3_only_by_value_need_migration();
+    test4_type_contains_drop_need_migration();
+    test5_drop_non_drop_aggregate_need_migration();
+    test6_significant_insignificant_drop_aggregate_need_migration();
+    test7_move_closures_non_copy_types_might_need_migration();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr
new file mode 100644
index 00000000000..6c21b27b493
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr
@@ -0,0 +1,103 @@
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:24:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         let _t1 = t1.0;
+LL | |         let _t2 = t2.0;
+LL | |     };
+   | |_____^
+   |
+note: the lint level is defined here
+  --> $DIR/significant_drop.rs:1:9
+   |
+LL | #![deny(disjoint_capture_drop_reorder)]
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   = note: drop(&(t, t1, t2));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:42:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         let _t1 = t1.0;
+LL | |         let _t2 = t2;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t, t1));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:58:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |         println!("{:?}", t1.1);
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:75:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:90:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.0;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:105:13
+   |
+LL |       let c = || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         let _t = t.1;
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t));
+
+error: drop order affected for closure because of `capture_disjoint_fields`
+  --> $DIR/significant_drop.rs:120:13
+   |
+LL |       let c = move || {
+   |  _____________^
+LL | |
+LL | |
+LL | |         println!("{:?} {:?}", t1.1, t.1);
+LL | |     };
+   | |_____^
+   |
+   = note: drop(&(t1, t));
+
+error: aborting due to 7 previous errors
+
diff --git a/src/test/ui/closures/2229_closure_analysis/move_closure.rs b/src/test/ui/closures/2229_closure_analysis/move_closure.rs
new file mode 100644
index 00000000000..8bdc999ca3c
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/move_closure.rs
@@ -0,0 +1,72 @@
+// Test that move closures drop derefs with `capture_disjoint_fields` enabled.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+// Test we truncate derefs properly
+fn simple_ref() {
+    let mut s = 10;
+    let ref_s = &mut s;
+
+    let mut c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    move || {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        *ref_s += 10;
+        //~^ NOTE: Capturing ref_s[Deref] -> ByValue
+        //~| NOTE: Min Capture ref_s[] -> ByValue
+    };
+    c();
+}
+
+// Test we truncate derefs properly
+fn struct_contains_ref_to_another_struct() {
+    struct S(String);
+    struct T<'a>(&'a mut S);
+
+    let mut s = S("s".into());
+    let t = T(&mut s);
+
+    let mut c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    move || {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        t.0.0 = "new s".into();
+        //~^ NOTE: Capturing t[(0, 0),Deref,(0, 0)] -> ByValue
+        //~| NOTE: Min Capture t[(0, 0)] -> ByValue
+    };
+
+    c();
+}
+
+// Test that we don't reduce precision when there is nothing deref.
+fn no_ref() {
+    struct S(String);
+    struct T(S);
+
+    let t = T(S("s".into()));
+    let mut c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    move || {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        t.0.0 = "new S".into();
+        //~^ NOTE: Capturing t[(0, 0),(0, 0)] -> ByValue
+        //~| NOTE: Min Capture t[(0, 0),(0, 0)] -> ByValue
+    };
+    c();
+}
+
+fn main() {
+    simple_ref();
+    struct_contains_ref_to_another_struct();
+    no_ref();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/move_closure.stderr b/src/test/ui/closures/2229_closure_analysis/move_closure.stderr
new file mode 100644
index 00000000000..a745f14598e
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/move_closure.stderr
@@ -0,0 +1,147 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/move_closure.rs:14:17
+   |
+LL |     let mut c = #[rustc_capture_analysis]
+   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/move_closure.rs:35:17
+   |
+LL |     let mut c = #[rustc_capture_analysis]
+   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/move_closure.rs:55:17
+   |
+LL |     let mut c = #[rustc_capture_analysis]
+   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/move_closure.rs:3:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/move_closure.rs:17:5
+   |
+LL | /     move || {
+LL | |
+LL | |
+LL | |         *ref_s += 10;
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing ref_s[Deref] -> ByValue
+  --> $DIR/move_closure.rs:20:9
+   |
+LL |         *ref_s += 10;
+   |         ^^^^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/move_closure.rs:17:5
+   |
+LL | /     move || {
+LL | |
+LL | |
+LL | |         *ref_s += 10;
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture ref_s[] -> ByValue
+  --> $DIR/move_closure.rs:20:9
+   |
+LL |         *ref_s += 10;
+   |         ^^^^^^
+
+error: First Pass analysis includes:
+  --> $DIR/move_closure.rs:38:5
+   |
+LL | /     move || {
+LL | |
+LL | |
+LL | |         t.0.0 = "new s".into();
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing t[(0, 0),Deref,(0, 0)] -> ByValue
+  --> $DIR/move_closure.rs:41:9
+   |
+LL |         t.0.0 = "new s".into();
+   |         ^^^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/move_closure.rs:38:5
+   |
+LL | /     move || {
+LL | |
+LL | |
+LL | |         t.0.0 = "new s".into();
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture t[(0, 0)] -> ByValue
+  --> $DIR/move_closure.rs:41:9
+   |
+LL |         t.0.0 = "new s".into();
+   |         ^^^^^
+
+error: First Pass analysis includes:
+  --> $DIR/move_closure.rs:58:5
+   |
+LL | /     move || {
+LL | |
+LL | |
+LL | |         t.0.0 = "new S".into();
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing t[(0, 0),(0, 0)] -> ByValue
+  --> $DIR/move_closure.rs:61:9
+   |
+LL |         t.0.0 = "new S".into();
+   |         ^^^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/move_closure.rs:58:5
+   |
+LL | /     move || {
+LL | |
+LL | |
+LL | |         t.0.0 = "new S".into();
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture t[(0, 0),(0, 0)] -> ByValue
+  --> $DIR/move_closure.rs:61:9
+   |
+LL |         t.0.0 = "new S".into();
+   |         ^^^^^
+
+error: aborting due to 9 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/by_value.rs b/src/test/ui/closures/2229_closure_analysis/run_pass/by_value.rs
new file mode 100644
index 00000000000..9a93e6cf1e1
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/by_value.rs
@@ -0,0 +1,28 @@
+// run-pass
+
+// Test that ByValue captures compile sucessefully especially when the captures are
+// derefenced within the closure.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+#[derive(Debug, Default)]
+struct SomeLargeType;
+struct MuchLargerType([SomeLargeType; 32]);
+
+fn big_box() {
+    let s = MuchLargerType(Default::default());
+    let b = Box::new(s);
+    let t = (b, 10);
+
+    let c = || {
+        let p = t.0.0;
+        println!("{} {:?}", t.1, p);
+    };
+
+    c();
+}
+
+fn main() {
+    big_box();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/by_value.stderr b/src/test/ui/closures/2229_closure_analysis/run_pass/by_value.stderr
new file mode 100644
index 00000000000..98715c6b943
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/by_value.stderr
@@ -0,0 +1,11 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/by_value.rs:6:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.rs b/src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.rs
new file mode 100644
index 00000000000..e89cf4550c1
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.rs
@@ -0,0 +1,46 @@
+// run-pass
+
+// Test that functional record update/struct update syntax works inside
+// a closure when the feature `capture_disjoint_fields` is enabled.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| NOTE: `#[warn(incomplete_features)]` on by default
+//~| NOTE: see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+
+#[derive(Clone)]
+struct S {
+    a: String,
+    b: String,
+}
+
+struct T {
+    a: String,
+    s: S,
+}
+
+fn main() {
+    let a = String::new();
+    let b = String::new();
+    let c = String::new();
+    let s = S {a, b};
+    let t = T {
+        a: c,
+        s: s.clone()
+    };
+
+    let c = || {
+        let s2 = S {
+            a: format!("New s2"),
+            ..s
+        };
+        let s3 = S {
+            a: format!("New s3"),
+            ..t.s
+        };
+        println!("{} {}", s2.a, s2.b);
+        println!("{} {} {}", s3.a, s3.b, t.a);
+    };
+
+    c();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.stderr b/src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.stderr
new file mode 100644
index 00000000000..7ed73abba86
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/fru_syntax.stderr
@@ -0,0 +1,11 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/fru_syntax.rs:6:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.rs b/src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.rs
new file mode 100644
index 00000000000..4007a5a48aa
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.rs
@@ -0,0 +1,64 @@
+// run-pass
+
+// Test that move closures compile properly with `capture_disjoint_fields` enabled.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+fn simple_ref() {
+    let mut s = 10;
+    let ref_s = &mut s;
+
+    let mut c = move || {
+        *ref_s += 10;
+    };
+    c();
+}
+
+fn struct_contains_ref_to_another_struct() {
+    struct S(String);
+    struct T<'a>(&'a mut S);
+
+    let mut s = S("s".into());
+    let t = T(&mut s);
+
+    let mut c = move || {
+        t.0.0 = "new s".into();
+    };
+
+    c();
+}
+
+#[derive(Debug)]
+struct S(String);
+
+#[derive(Debug)]
+struct T(S);
+
+fn no_ref() {
+    let mut t = T(S("s".into()));
+    let mut c = move || {
+        t.0.0 = "new S".into();
+    };
+    c();
+}
+
+fn no_ref_nested() {
+    let mut t = T(S("s".into()));
+    let c = || {
+        println!("{:?}", t.0);
+        let mut c = move || {
+            t.0.0 = "new S".into();
+            println!("{:?}", t.0.0);
+        };
+        c();
+    };
+    c();
+}
+
+fn main() {
+    simple_ref();
+    struct_contains_ref_to_another_struct();
+    no_ref();
+    no_ref_nested();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.stderr b/src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.stderr
new file mode 100644
index 00000000000..c1d8ba575d6
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/move_closure.stderr
@@ -0,0 +1,11 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/move_closure.rs:5:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs
new file mode 100644
index 00000000000..315622443c3
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs
@@ -0,0 +1,56 @@
+// run-pass
+
+// Test that we can mutate a place through a mut-borrow
+// that is captured by the closure
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+// Check that we can mutate when one deref is required
+fn mut_ref_1() {
+    let mut x = String::new();
+    let rx = &mut x;
+
+    let mut c = || {
+        *rx = String::new();
+    };
+
+    c();
+}
+
+// Similar example as mut_ref_1, we don't deref the imm-borrow here,
+// and so we are allowed to mutate.
+fn mut_ref_2() {
+    let x = String::new();
+    let y = String::new();
+    let mut ref_x = &x;
+    let m_ref_x = &mut ref_x;
+
+    let mut c = || {
+        *m_ref_x = &y;
+    };
+
+    c();
+}
+
+// Check that we can mutate when multiple derefs of mut-borrows are required to reach
+// the target place.
+// It works because all derefs are mutable, if either of them was an immutable
+// borrow, then we would not be able to deref.
+fn mut_mut_ref() {
+    let mut x = String::new();
+    let mut mref_x = &mut x;
+    let m_mref_x = &mut mref_x;
+
+    let mut c = || {
+        **m_mref_x = String::new();
+    };
+
+    c();
+}
+
+fn main() {
+    mut_ref_1();
+    mut_ref_2();
+    mut_mut_ref();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.stderr b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.stderr
new file mode 100644
index 00000000000..4b37a0b405f
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref.stderr
@@ -0,0 +1,11 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/mut_ref.rs:6:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs
new file mode 100644
index 00000000000..2dba923647a
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs
@@ -0,0 +1,45 @@
+// run-pass
+
+// Test that we can mutate a place through a mut-borrow
+// that is captured by the closure
+
+// More specifically we test that the if the mutable reference isn't root variable of a capture
+// but rather accessed while acessing the precise capture.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+fn mut_tuple() {
+    let mut t = (10, 10);
+
+    let t1 = (&mut t, 10);
+
+    let mut c = || {
+        // Mutable because (*t.0) is mutable
+        t1.0.0 += 10;
+    };
+
+    c();
+}
+
+fn mut_tuple_nested() {
+    let mut t = (10, 10);
+
+    let t1 = (&mut t, 10);
+
+    let mut c = || {
+        let mut c = || {
+            // Mutable because (*t.0) is mutable
+            t1.0.0 += 10;
+        };
+
+        c();
+    };
+
+    c();
+}
+
+fn main() {
+    mut_tuple();
+    mut_tuple_nested();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.stderr b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.stderr
new file mode 100644
index 00000000000..418ab29098b
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.stderr
@@ -0,0 +1,11 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/mut_ref_struct_mem.rs:9:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs b/src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs
new file mode 100644
index 00000000000..f6e9862b26c
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs
@@ -0,0 +1,47 @@
+// run-pass
+
+// Test that we can use raw ptrs when using `capture_disjoint_fields`.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+
+#[derive(Debug)]
+struct S {
+    s: String,
+    t: String,
+}
+
+struct T(*const S);
+
+fn unsafe_imm() {
+    let s = "".into();
+    let t = "".into();
+    let my_speed: Box<S> = Box::new(S { s, t });
+
+    let p : *const S = Box::into_raw(my_speed);
+    let t = T(p);
+
+    let c = || unsafe {
+        println!("{:?}", (*t.0).s);
+    };
+
+    c();
+}
+
+fn unsafe_mut() {
+    let s = "".into();
+    let t = "".into();
+    let mut my_speed: Box<S> = Box::new(S { s, t });
+    let p : *mut S = &mut *my_speed;
+
+    let c = || {
+        let x = unsafe { &mut (*p).s };
+        *x = "s".into();
+    };
+    c();
+}
+
+fn main() {
+    unsafe_mut();
+    unsafe_imm();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.stderr b/src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.stderr
new file mode 100644
index 00000000000..c64c8b72e81
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.stderr
@@ -0,0 +1,11 @@
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/unsafe_ptr.rs:5:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.rs b/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.rs
index aaff3531e58..a6b5e12d2ed 100644
--- a/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.rs
+++ b/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.rs
@@ -32,9 +32,11 @@ fn main() {
     //~| ERROR: Min Capture analysis includes:
         p.x += 10;
         //~^ NOTE: Capturing p[(0, 0)] -> MutBorrow
-        //~| NOTE: Min Capture p[] -> MutBorrow
+        //~| NOTE: p[] captured as MutBorrow here
         println!("{:?}", p);
         //~^ NOTE: Capturing p[] -> ImmBorrow
+        //~| NOTE: Min Capture p[] -> MutBorrow
+        //~| NOTE: p[] used here
     };
 
     c();
diff --git a/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.stderr b/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.stderr
index 30d3d5f504e..cbbc8792199 100644
--- a/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.stderr
+++ b/src/test/ui/closures/2229_closure_analysis/simple-struct-min-capture.stderr
@@ -55,7 +55,10 @@ note: Min Capture p[] -> MutBorrow
   --> $DIR/simple-struct-min-capture.rs:33:9
    |
 LL |         p.x += 10;
-   |         ^^^
+   |         ^^^ p[] captured as MutBorrow here
+...
+LL |         println!("{:?}", p);
+   |                          ^ p[] used here
 
 error: aborting due to 3 previous errors; 1 warning emitted
 
diff --git a/src/test/ui/closures/2229_closure_analysis/unsafe_ptr.rs b/src/test/ui/closures/2229_closure_analysis/unsafe_ptr.rs
new file mode 100644
index 00000000000..79d3ecc2d2b
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/unsafe_ptr.rs
@@ -0,0 +1,63 @@
+// Test that we restrict precision of a capture when we access a raw ptr,
+// i.e. the capture doesn't deref the raw ptr.
+
+#![feature(capture_disjoint_fields)]
+//~^ WARNING: the feature `capture_disjoint_fields` is incomplete
+//~| `#[warn(incomplete_features)]` on by default
+//~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
+#![feature(rustc_attrs)]
+
+#[derive(Debug)]
+struct S {
+    s: String,
+    t: String,
+}
+
+struct T(*const S);
+
+fn unsafe_imm() {
+    let s = "".into();
+    let t = "".into();
+    let my_speed: Box<S> = Box::new(S { s, t });
+
+    let p : *const S = Box::into_raw(my_speed);
+    let t = T(p);
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+     || unsafe {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        println!("{:?}", (*t.0).s);
+        //~^ NOTE: Capturing t[(0, 0),Deref,(0, 0)] -> ImmBorrow
+        //~| NOTE: Min Capture t[(0, 0)] -> ImmBorrow
+    };
+
+    c();
+}
+
+fn unsafe_mut() {
+    let s = "".into();
+    let t = "".into();
+    let mut my_speed: Box<S> = Box::new(S { s, t });
+    let p : *mut S = &mut *my_speed;
+
+    let c = #[rustc_capture_analysis]
+    //~^ ERROR: attributes on expressions are experimental
+    //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
+    || {
+    //~^ ERROR: First Pass analysis includes:
+    //~| ERROR: Min Capture analysis includes:
+        let x = unsafe { &mut (*p).s };
+        //~^ NOTE: Capturing p[Deref,(0, 0)] -> ImmBorrow
+        //~| NOTE: Min Capture p[] -> ImmBorrow
+        *x = "s".into();
+    };
+    c();
+}
+
+fn main() {
+    unsafe_mut();
+    unsafe_imm();
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/unsafe_ptr.stderr b/src/test/ui/closures/2229_closure_analysis/unsafe_ptr.stderr
new file mode 100644
index 00000000000..4508b2426e8
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/unsafe_ptr.stderr
@@ -0,0 +1,102 @@
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/unsafe_ptr.rs:26:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+error[E0658]: attributes on expressions are experimental
+  --> $DIR/unsafe_ptr.rs:46:13
+   |
+LL |     let c = #[rustc_capture_analysis]
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
+   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
+
+warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/unsafe_ptr.rs:4:12
+   |
+LL | #![feature(capture_disjoint_fields)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information
+
+error: First Pass analysis includes:
+  --> $DIR/unsafe_ptr.rs:29:6
+   |
+LL | /      || unsafe {
+LL | |
+LL | |
+LL | |         println!("{:?}", (*t.0).s);
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Capturing t[(0, 0),Deref,(0, 0)] -> ImmBorrow
+  --> $DIR/unsafe_ptr.rs:32:26
+   |
+LL |         println!("{:?}", (*t.0).s);
+   |                          ^^^^^^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/unsafe_ptr.rs:29:6
+   |
+LL | /      || unsafe {
+LL | |
+LL | |
+LL | |         println!("{:?}", (*t.0).s);
+LL | |
+LL | |
+LL | |     };
+   | |_____^
+   |
+note: Min Capture t[(0, 0)] -> ImmBorrow
+  --> $DIR/unsafe_ptr.rs:32:26
+   |
+LL |         println!("{:?}", (*t.0).s);
+   |                          ^^^^^^^^
+
+error: First Pass analysis includes:
+  --> $DIR/unsafe_ptr.rs:49:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let x = unsafe { &mut (*p).s };
+...  |
+LL | |         *x = "s".into();
+LL | |     };
+   | |_____^
+   |
+note: Capturing p[Deref,(0, 0)] -> ImmBorrow
+  --> $DIR/unsafe_ptr.rs:52:31
+   |
+LL |         let x = unsafe { &mut (*p).s };
+   |                               ^^^^^^
+
+error: Min Capture analysis includes:
+  --> $DIR/unsafe_ptr.rs:49:5
+   |
+LL | /     || {
+LL | |
+LL | |
+LL | |         let x = unsafe { &mut (*p).s };
+...  |
+LL | |         *x = "s".into();
+LL | |     };
+   | |_____^
+   |
+note: Min Capture p[] -> ImmBorrow
+  --> $DIR/unsafe_ptr.rs:52:31
+   |
+LL |         let x = unsafe { &mut (*p).s };
+   |                               ^^^^^^
+
+error: aborting due to 6 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/closures/closure-expected-type/expect-region-supply-region.stderr b/src/test/ui/closures/closure-expected-type/expect-region-supply-region.stderr
index 213071abfff..0d97fa7e230 100644
--- a/src/test/ui/closures/closure-expected-type/expect-region-supply-region.stderr
+++ b/src/test/ui/closures/closure-expected-type/expect-region-supply-region.stderr
@@ -20,3 +20,4 @@ LL |         f = Some(x);
 
 error: aborting due to 2 previous errors
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/closures/issue-80313-mutable-borrow-in-closure.rs b/src/test/ui/closures/issue-80313-mutable-borrow-in-closure.rs
new file mode 100644
index 00000000000..ff210ae06a3
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutable-borrow-in-closure.rs
@@ -0,0 +1,7 @@
+fn main() {
+    let mut my_var = false;
+    let callback = || {
+        &mut my_var;
+    };
+    callback(); //~ ERROR E0596
+}
diff --git a/src/test/ui/closures/issue-80313-mutable-borrow-in-closure.stderr b/src/test/ui/closures/issue-80313-mutable-borrow-in-closure.stderr
new file mode 100644
index 00000000000..bf9e1febdbb
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutable-borrow-in-closure.stderr
@@ -0,0 +1,14 @@
+error[E0596]: cannot borrow `callback` as mutable, as it is not declared as mutable
+  --> $DIR/issue-80313-mutable-borrow-in-closure.rs:6:5
+   |
+LL |     let callback = || {
+   |         -------- help: consider changing this to be mutable: `mut callback`
+LL |         &mut my_var;
+   |              ------ calling `callback` requires mutable binding due to mutable borrow of `my_var`
+LL |     };
+LL |     callback();
+   |     ^^^^^^^^ cannot borrow as mutable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.rs b/src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.rs
new file mode 100644
index 00000000000..8f2d8a67630
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.rs
@@ -0,0 +1,7 @@
+fn main() {
+    let mut my_var = false;
+    let callback = move || {
+        &mut my_var;
+    };
+    callback(); //~ ERROR E0596
+}
diff --git a/src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.stderr b/src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.stderr
new file mode 100644
index 00000000000..b67cec6a609
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutable-borrow-in-move-closure.stderr
@@ -0,0 +1,14 @@
+error[E0596]: cannot borrow `callback` as mutable, as it is not declared as mutable
+  --> $DIR/issue-80313-mutable-borrow-in-move-closure.rs:6:5
+   |
+LL |     let callback = move || {
+   |         -------- help: consider changing this to be mutable: `mut callback`
+LL |         &mut my_var;
+   |              ------ calling `callback` requires mutable binding due to possible mutation of `my_var`
+LL |     };
+LL |     callback();
+   |     ^^^^^^^^ cannot borrow as mutable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/issue-80313-mutation-in-closure.rs b/src/test/ui/closures/issue-80313-mutation-in-closure.rs
new file mode 100644
index 00000000000..e082ea562ef
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutation-in-closure.rs
@@ -0,0 +1,7 @@
+fn main() {
+    let mut my_var = false;
+    let callback = || {
+        my_var = true;
+    };
+    callback(); //~ ERROR E0596
+}
diff --git a/src/test/ui/closures/issue-80313-mutation-in-closure.stderr b/src/test/ui/closures/issue-80313-mutation-in-closure.stderr
new file mode 100644
index 00000000000..6e98549f6b8
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutation-in-closure.stderr
@@ -0,0 +1,14 @@
+error[E0596]: cannot borrow `callback` as mutable, as it is not declared as mutable
+  --> $DIR/issue-80313-mutation-in-closure.rs:6:5
+   |
+LL |     let callback = || {
+   |         -------- help: consider changing this to be mutable: `mut callback`
+LL |         my_var = true;
+   |         ------ calling `callback` requires mutable binding due to mutable borrow of `my_var`
+LL |     };
+LL |     callback();
+   |     ^^^^^^^^ cannot borrow as mutable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/issue-80313-mutation-in-move-closure.rs b/src/test/ui/closures/issue-80313-mutation-in-move-closure.rs
new file mode 100644
index 00000000000..f66bf4e0628
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutation-in-move-closure.rs
@@ -0,0 +1,7 @@
+fn main() {
+    let mut my_var = false;
+    let callback = move || {
+        my_var = true;
+    };
+    callback(); //~ ERROR E0596
+}
diff --git a/src/test/ui/closures/issue-80313-mutation-in-move-closure.stderr b/src/test/ui/closures/issue-80313-mutation-in-move-closure.stderr
new file mode 100644
index 00000000000..edd55422a0b
--- /dev/null
+++ b/src/test/ui/closures/issue-80313-mutation-in-move-closure.stderr
@@ -0,0 +1,14 @@
+error[E0596]: cannot borrow `callback` as mutable, as it is not declared as mutable
+  --> $DIR/issue-80313-mutation-in-move-closure.rs:6:5
+   |
+LL |     let callback = move || {
+   |         -------- help: consider changing this to be mutable: `mut callback`
+LL |         my_var = true;
+   |         ------ calling `callback` requires mutable binding due to possible mutation of `my_var`
+LL |     };
+LL |     callback();
+   |     ^^^^^^^^ cannot borrow as mutable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/issue-81700-mut-borrow.rs b/src/test/ui/closures/issue-81700-mut-borrow.rs
new file mode 100644
index 00000000000..a27a6160142
--- /dev/null
+++ b/src/test/ui/closures/issue-81700-mut-borrow.rs
@@ -0,0 +1,5 @@
+fn foo(x: &mut u32) {
+    let bar = || { foo(x); };
+    bar(); //~ ERROR cannot borrow
+}
+fn main() {}
diff --git a/src/test/ui/closures/issue-81700-mut-borrow.stderr b/src/test/ui/closures/issue-81700-mut-borrow.stderr
new file mode 100644
index 00000000000..3f564afff58
--- /dev/null
+++ b/src/test/ui/closures/issue-81700-mut-borrow.stderr
@@ -0,0 +1,13 @@
+error[E0596]: cannot borrow `bar` as mutable, as it is not declared as mutable
+  --> $DIR/issue-81700-mut-borrow.rs:3:5
+   |
+LL |     let bar = || { foo(x); };
+   |         ---            - calling `bar` requires mutable binding due to mutable borrow of `x`
+   |         |
+   |         help: consider changing this to be mutable: `mut bar`
+LL |     bar();
+   |     ^^^ cannot borrow as mutable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/closures/local-type-mix.rs b/src/test/ui/closures/local-type-mix.rs
new file mode 100644
index 00000000000..006e6f490f0
--- /dev/null
+++ b/src/test/ui/closures/local-type-mix.rs
@@ -0,0 +1,17 @@
+// Check that using the parameter name in its type does not ICE.
+// edition:2018
+
+#![feature(async_closure)]
+
+fn main() {
+    let _ = |x: x| x; //~ ERROR expected type
+    let _ = |x: bool| -> x { x }; //~ ERROR expected type
+    let _ = async move |x: x| x; //~ ERROR expected type
+    let _ = async move |x: bool| -> x { x }; //~ ERROR expected type
+}
+
+fn foo(x: x) {} //~ ERROR expected type
+fn foo_ret(x: bool) -> x {} //~ ERROR expected type
+
+async fn async_foo(x: x) {} //~ ERROR expected type
+async fn async_foo_ret(x: bool) -> x {} //~ ERROR expected type
diff --git a/src/test/ui/closures/local-type-mix.stderr b/src/test/ui/closures/local-type-mix.stderr
new file mode 100644
index 00000000000..68c320a065d
--- /dev/null
+++ b/src/test/ui/closures/local-type-mix.stderr
@@ -0,0 +1,51 @@
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:7:17
+   |
+LL |     let _ = |x: x| x;
+   |                 ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:8:26
+   |
+LL |     let _ = |x: bool| -> x { x };
+   |                          ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:9:28
+   |
+LL |     let _ = async move |x: x| x;
+   |                            ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:10:37
+   |
+LL |     let _ = async move |x: bool| -> x { x };
+   |                                     ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:13:11
+   |
+LL | fn foo(x: x) {}
+   |           ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:14:24
+   |
+LL | fn foo_ret(x: bool) -> x {}
+   |                        ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:16:23
+   |
+LL | async fn async_foo(x: x) {}
+   |                       ^ not a type
+
+error[E0573]: expected type, found local variable `x`
+  --> $DIR/local-type-mix.rs:17:36
+   |
+LL | async fn async_foo_ret(x: bool) -> x {}
+   |                                    ^ not a type
+
+error: aborting due to 8 previous errors
+
+For more information about this error, try `rustc --explain E0573`.
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.rs
new file mode 100644
index 00000000000..e05dbf3bbc4
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.rs
@@ -0,0 +1,11 @@
+// gate-test-abi_c_cmse_nonsecure_call
+fn main() {
+    let non_secure_function = unsafe {
+        core::mem::transmute::<usize, extern "C-cmse-nonsecure-call" fn(i32, i32, i32, i32) -> i32>(
+        //~^ ERROR [E0658]
+            0x10000004,
+        )
+    };
+    let mut toto = 5;
+    toto += non_secure_function(toto, 2, 3, 5);
+}
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr
new file mode 100644
index 00000000000..ed8e16899a1
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr
@@ -0,0 +1,12 @@
+error[E0658]: C-cmse-nonsecure-call ABI is experimental and subject to change
+  --> $DIR/gate_test.rs:4:46
+   |
+LL |         core::mem::transmute::<usize, extern "C-cmse-nonsecure-call" fn(i32, i32, i32, i32) -> i32>(
+   |                                              ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #81391 <https://github.com/rust-lang/rust/issues/81391> for more information
+   = help: add `#![feature(abi_c_cmse_nonsecure_call)]` to the crate attributes to enable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs
new file mode 100644
index 00000000000..b09ea06c8f3
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs
@@ -0,0 +1,15 @@
+// build-pass
+// compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
+// only-thumbv8m.main-none-eabi
+#![feature(abi_c_cmse_nonsecure_call)]
+#![no_std]
+
+#[no_mangle]
+pub fn test(a: u32, b: u32, c: u32, d: u32) -> u32 {
+    let non_secure_function = unsafe {
+        core::mem::transmute::<usize, extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32>(
+            0x10000004,
+        )
+    };
+    non_secure_function(a, b, c, d)
+}
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.rs
new file mode 100644
index 00000000000..cfdce4f4e92
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.rs
@@ -0,0 +1,17 @@
+// compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
+// only-thumbv8m.main-none-eabi
+#![feature(abi_c_cmse_nonsecure_call)]
+#![no_std]
+
+#[no_mangle]
+pub fn test(a: u32, b: u32, c: u32, d: u32, e: u32) -> u32 {
+    let non_secure_function = unsafe {
+        core::mem::transmute::<
+            usize,
+            extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32, u32) -> u32>
+        (
+            0x10000004,
+        )
+    };
+    non_secure_function(a, b, c, d, e)
+}
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.stderr
new file mode 100644
index 00000000000..c9064184075
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-stack.stderr
@@ -0,0 +1,5 @@
+error: <unknown>:0:0: in function test i32 (i32, i32, i32, i32, i32): call to non-secure function would require passing arguments on stack
+
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs
new file mode 100644
index 00000000000..17117301fef
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs
@@ -0,0 +1,6 @@
+// compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
+// only-thumbv8m.main-none-eabi
+#![feature(abi_c_cmse_nonsecure_call)]
+#![no_std]
+
+pub extern "C-cmse-nonsecure-call" fn test() {} //~ ERROR [E0781]
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.stderr
new file mode 100644
index 00000000000..78490bf8f68
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.stderr
@@ -0,0 +1,9 @@
+error[E0781]: the `"cmse-nonsecure-call"` ABI is only allowed on function pointers.
+  --> $DIR/wrong-abi-location-1.rs:6:1
+   |
+LL | pub extern "C-cmse-nonsecure-call" fn test() {} //~ ERROR [E0781]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0781`.
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs
new file mode 100644
index 00000000000..78f553d747c
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs
@@ -0,0 +1,8 @@
+// compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
+// only-thumbv8m.main-none-eabi
+#![feature(abi_c_cmse_nonsecure_call)]
+#![no_std]
+
+extern "C-cmse-nonsecure-call" { //~ ERROR [E0781]
+    fn test();
+}
diff --git a/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.stderr
new file mode 100644
index 00000000000..5c148e2cd6f
--- /dev/null
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.stderr
@@ -0,0 +1,11 @@
+error[E0781]: the `"C-cmse-nonsecure-call"` ABI is only allowed on function pointers.
+  --> $DIR/wrong-abi-location-2.rs:6:1
+   |
+LL | / extern "C-cmse-nonsecure-call" {
+LL | |     fn test(); //~ ERROR [E0781]
+LL | | }
+   | |_^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0781`.
diff --git a/src/test/ui/cmse-nonsecure-entry/gate_test.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.rs
index 02d5f20febc..02d5f20febc 100644
--- a/src/test/ui/cmse-nonsecure-entry/gate_test.rs
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.rs
diff --git a/src/test/ui/cmse-nonsecure-entry/gate_test.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr
index 75a29b317df..75a29b317df 100644
--- a/src/test/ui/cmse-nonsecure-entry/gate_test.stderr
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr
diff --git a/src/test/ui/cmse-nonsecure-entry/params-on-registers.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-registers.rs
index a723eb73473..a723eb73473 100644
--- a/src/test/ui/cmse-nonsecure-entry/params-on-registers.rs
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-registers.rs
diff --git a/src/test/ui/cmse-nonsecure-entry/params-on-stack.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.rs
index 553d3a8cb0b..553d3a8cb0b 100644
--- a/src/test/ui/cmse-nonsecure-entry/params-on-stack.rs
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.rs
diff --git a/src/test/ui/cmse-nonsecure-entry/params-on-stack.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.stderr
index d9956acbe75..d9956acbe75 100644
--- a/src/test/ui/cmse-nonsecure-entry/params-on-stack.stderr
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.stderr
diff --git a/src/test/ui/cmse-nonsecure-entry/trustzone-only.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/trustzone-only.rs
index 3783e279402..3783e279402 100644
--- a/src/test/ui/cmse-nonsecure-entry/trustzone-only.rs
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/trustzone-only.rs
diff --git a/src/test/ui/cmse-nonsecure-entry/trustzone-only.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/trustzone-only.stderr
index 7e8862f9ab7..7e8862f9ab7 100644
--- a/src/test/ui/cmse-nonsecure-entry/trustzone-only.stderr
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/trustzone-only.stderr
diff --git a/src/test/ui/cmse-nonsecure-entry/wrong-abi.rs b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/wrong-abi.rs
index 611c8643dcb..611c8643dcb 100644
--- a/src/test/ui/cmse-nonsecure-entry/wrong-abi.rs
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/wrong-abi.rs
diff --git a/src/test/ui/cmse-nonsecure-entry/wrong-abi.stderr b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/wrong-abi.stderr
index d6967a11e6b..d6967a11e6b 100644
--- a/src/test/ui/cmse-nonsecure-entry/wrong-abi.stderr
+++ b/src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/wrong-abi.stderr
diff --git a/src/test/ui/codemap_tests/unicode.stderr b/src/test/ui/codemap_tests/unicode.stderr
index 8b85adb5845..61c3f4f1c98 100644
--- a/src/test/ui/codemap_tests/unicode.stderr
+++ b/src/test/ui/codemap_tests/unicode.stderr
@@ -4,7 +4,7 @@ error[E0703]: invalid ABI: found `路濫狼á́́`
 LL | extern "路濫狼á́́" fn foo() {}
    |        ^^^^^^^^^ invalid ABI
    |
-   = help: valid ABIs: Rust, C, cdecl, stdcall, fastcall, vectorcall, thiscall, aapcs, win64, sysv64, ptx-kernel, msp430-interrupt, x86-interrupt, amdgpu-kernel, efiapi, avr-interrupt, avr-non-blocking-interrupt, system, rust-intrinsic, rust-call, platform-intrinsic, unadjusted
+   = help: valid ABIs: Rust, C, cdecl, stdcall, fastcall, vectorcall, thiscall, aapcs, win64, sysv64, ptx-kernel, msp430-interrupt, x86-interrupt, amdgpu-kernel, efiapi, avr-interrupt, avr-non-blocking-interrupt, C-cmse-nonsecure-call, system, rust-intrinsic, rust-call, platform-intrinsic, unadjusted
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/coercion/coercion-missing-tail-expected-type.stderr b/src/test/ui/coercion/coercion-missing-tail-expected-type.stderr
index da8db4331df..df1fb58e25a 100644
--- a/src/test/ui/coercion/coercion-missing-tail-expected-type.stderr
+++ b/src/test/ui/coercion/coercion-missing-tail-expected-type.stderr
@@ -12,13 +12,13 @@ error[E0308]: mismatched types
   --> $DIR/coercion-missing-tail-expected-type.rs:8:13
    |
 LL | fn foo() -> Result<u8, u64> {
-   |    ---      ^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found `()`
+   |    ---      ^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
    |    |
    |    implicitly returns `()` as its body has no tail or `return` expression
 LL |     Ok(1);
    |          - help: consider removing this semicolon
    |
-   = note:   expected enum `std::result::Result<u8, u64>`
+   = note:   expected enum `Result<u8, u64>`
            found unit type `()`
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/command/command-current-dir.rs b/src/test/ui/command/command-current-dir.rs
new file mode 100644
index 00000000000..91d8e4f381a
--- /dev/null
+++ b/src/test/ui/command/command-current-dir.rs
@@ -0,0 +1,49 @@
+// run-pass
+// ignore-emscripten no processes
+// ignore-sgx no processes
+
+use std::env;
+use std::fs;
+use std::path::Path;
+use std::process::Command;
+
+fn main() {
+    // Checks the behavior of current_dir when used with a relative exe path.
+    let me = env::current_exe().unwrap();
+    if matches!(env::args().skip(1).next().as_deref(), Some("current-dir")) {
+        let cwd = env::current_dir().unwrap();
+        assert_eq!(cwd.file_name().unwrap(), "bar");
+        std::process::exit(0);
+    }
+    let exe = me.file_name().unwrap();
+    let cwd = me.parent().unwrap();
+    eprintln!("cwd={:?}", cwd);
+    // Change directory to where the exectuable is located, since this test
+    // fundamentally needs to use relative paths. In some cases (like
+    // remote-test-server), the current_dir can be somewhere else, so make
+    // sure it is something we can use. We assume we can write to this
+    // directory.
+    env::set_current_dir(&cwd).unwrap();
+    let foo = cwd.join("foo");
+    let bar = cwd.join("bar");
+    fs::create_dir_all(&foo).unwrap();
+    fs::create_dir_all(&bar).unwrap();
+    fs::copy(&me, foo.join(exe)).unwrap();
+
+    // Unfortunately this is inconsistent based on the platform, see
+    // https://github.com/rust-lang/rust/issues/37868. On Windows,
+    // it is relative *before* changing the directory, and on Unix
+    // it is *after* changing the directory.
+    let relative_exe = if cfg!(windows) {
+        Path::new("foo").join(exe)
+    } else {
+        Path::new("../foo").join(exe)
+    };
+
+    let status = Command::new(relative_exe)
+        .arg("current-dir")
+        .current_dir("bar")
+        .status()
+        .unwrap();
+    assert!(status.success());
+}
diff --git a/src/test/ui/command/command-setgroups.rs b/src/test/ui/command/command-setgroups.rs
new file mode 100644
index 00000000000..2067314f740
--- /dev/null
+++ b/src/test/ui/command/command-setgroups.rs
@@ -0,0 +1,27 @@
+// run-pass
+// ignore-windows - this is a unix-specific test
+// ignore-cloudabi
+// ignore-emscripten
+// ignore-sgx
+// ignore-musl - returns dummy result for _SC_NGROUPS_MAX
+
+#![feature(rustc_private)]
+#![feature(setgroups)]
+
+extern crate libc;
+use std::process::Command;
+use std::os::unix::process::CommandExt;
+
+fn main() {
+    #[cfg(unix)]
+    run()
+}
+
+#[cfg(unix)]
+fn run() {
+    let max_ngroups = unsafe { libc::sysconf(libc::_SC_NGROUPS_MAX) };
+    let max_ngroups = max_ngroups as u32 + 1;
+    let vec: Vec<u32> = (0..max_ngroups).collect();
+    let p = Command::new("/bin/id").groups(&vec[..]).spawn();
+    assert!(p.is_err());
+}
diff --git a/src/test/ui/const-generics/array-impls/into-iter-impls-length-32.rs b/src/test/ui/const-generics/array-impls/into-iter-impls-length-32.rs
index 0aeba8607e8..6ba1b2813a1 100644
--- a/src/test/ui/const-generics/array-impls/into-iter-impls-length-32.rs
+++ b/src/test/ui/const-generics/array-impls/into-iter-impls-length-32.rs
@@ -1,6 +1,5 @@
 // check-pass
 
-#![feature(array_value_iter)]
 #![feature(trusted_len)]
 
 use std::{
diff --git a/src/test/ui/const-generics/array-impls/into-iter-impls-length-33.rs b/src/test/ui/const-generics/array-impls/into-iter-impls-length-33.rs
index 5503813c7aa..deafde2912b 100644
--- a/src/test/ui/const-generics/array-impls/into-iter-impls-length-33.rs
+++ b/src/test/ui/const-generics/array-impls/into-iter-impls-length-33.rs
@@ -1,6 +1,5 @@
 // check-pass
 
-#![feature(array_value_iter)]
 #![feature(trusted_len)]
 
 use std::{
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/cross_crate_predicate.stderr b/src/test/ui/const-generics/const_evaluatable_checked/cross_crate_predicate.stderr
index 8a298b47fff..1beb5315d10 100644
--- a/src/test/ui/const-generics/const_evaluatable_checked/cross_crate_predicate.stderr
+++ b/src/test/ui/const-generics/const_evaluatable_checked/cross_crate_predicate.stderr
@@ -4,7 +4,7 @@ error: unconstrained generic constant
 LL |     let _ = const_evaluatable_lib::test1::<T>();
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-help: consider adding a `where` bound for this expression
+help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
   --> $DIR/auxiliary/const_evaluatable_lib.rs:6:10
    |
 LL |     [u8; std::mem::size_of::<T>() - 1]: Sized,
@@ -16,7 +16,7 @@ error: unconstrained generic constant
 LL |     let _ = const_evaluatable_lib::test1::<T>();
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-help: consider adding a `where` bound for this expression
+help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
   --> $DIR/auxiliary/const_evaluatable_lib.rs:4:27
    |
 LL | pub fn test1<T>() -> [u8; std::mem::size_of::<T>() - 1]
@@ -28,7 +28,7 @@ error: unconstrained generic constant
 LL |     let _ = const_evaluatable_lib::test1::<T>();
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-help: consider adding a `where` bound for this expression
+help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
   --> $DIR/auxiliary/const_evaluatable_lib.rs:6:10
    |
 LL |     [u8; std::mem::size_of::<T>() - 1]: Sized,
@@ -40,7 +40,7 @@ error: unconstrained generic constant
 LL |     let _ = const_evaluatable_lib::test1::<T>();
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-help: consider adding a `where` bound for this expression
+help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
   --> $DIR/auxiliary/const_evaluatable_lib.rs:4:27
    |
 LL | pub fn test1<T>() -> [u8; std::mem::size_of::<T>() - 1]
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/different-fn.stderr b/src/test/ui/const-generics/const_evaluatable_checked/different-fn.stderr
index 1f6dddb04e5..8cdc9b57750 100644
--- a/src/test/ui/const-generics/const_evaluatable_checked/different-fn.stderr
+++ b/src/test/ui/const-generics/const_evaluatable_checked/different-fn.stderr
@@ -4,7 +4,7 @@ error: unconstrained generic constant
 LL |     [0; size_of::<Foo<T>>()]
    |         ^^^^^^^^^^^^^^^^^^^
    |
-help: consider adding a `where` bound for this expression
+help: try adding a `where` bound using this expression: `where [u8; size_of::<Foo<T>>()]: Sized`
   --> $DIR/different-fn.rs:10:9
    |
 LL |     [0; size_of::<Foo<T>>()]
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/elaborate-trait-pred.rs b/src/test/ui/const-generics/const_evaluatable_checked/elaborate-trait-pred.rs
new file mode 100644
index 00000000000..4a4fd1e3311
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/elaborate-trait-pred.rs
@@ -0,0 +1,24 @@
+// run-pass
+// Test that we use the elaborated predicates from traits
+// to satisfy const evaluatable predicates.
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+use std::mem::size_of;
+
+trait Foo: Sized
+where
+    [(); size_of::<Self>()]: Sized,
+{
+}
+
+impl Foo for u64 {}
+impl Foo for u32 {}
+
+fn foo<T: Foo>() -> [u8; size_of::<T>()] {
+    [0; size_of::<T>()]
+}
+
+fn main() {
+    assert_eq!(foo::<u32>(), [0; 4]);
+    assert_eq!(foo::<u64>(), [0; 8]);
+}
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.rs b/src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.rs
new file mode 100644
index 00000000000..9f457fbd346
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.rs
@@ -0,0 +1,31 @@
+#![crate_type = "lib"]
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+pub struct Const<const U: u8>;
+
+pub trait Trait {
+    type AssocTy;
+    fn assoc_fn() -> Self::AssocTy;
+}
+
+impl<const U: u8> Trait for Const<U>
+//~^ WARN private type
+//~| WARN this was previously
+//~| WARN private type
+//~| WARN this was previously
+
+where
+    Const<{ my_const_fn(U) }>: ,
+{
+    type AssocTy = Const<{ my_const_fn(U) }>;
+    //~^ ERROR private type
+    fn assoc_fn() -> Self::AssocTy {
+        Const
+    }
+}
+
+const fn my_const_fn(val: u8) -> u8 {
+    // body of this function doesn't matter
+    val
+}
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.stderr b/src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.stderr
new file mode 100644
index 00000000000..842c22c5c67
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/eval-privacy.stderr
@@ -0,0 +1,43 @@
+warning: private type `fn(u8) -> u8 {my_const_fn}` in public interface (error E0446)
+  --> $DIR/eval-privacy.rs:12:1
+   |
+LL | / impl<const U: u8> Trait for Const<U>
+LL | |
+LL | |
+LL | |
+...  |
+LL | |     }
+LL | | }
+   | |_^
+   |
+   = note: `#[warn(private_in_public)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
+
+warning: private type `fn(u8) -> u8 {my_const_fn}` in public interface (error E0446)
+  --> $DIR/eval-privacy.rs:12:1
+   |
+LL | / impl<const U: u8> Trait for Const<U>
+LL | |
+LL | |
+LL | |
+...  |
+LL | |     }
+LL | | }
+   | |_^
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
+
+error[E0446]: private type `fn(u8) -> u8 {my_const_fn}` in public interface
+  --> $DIR/eval-privacy.rs:21:5
+   |
+LL |     type AssocTy = Const<{ my_const_fn(U) }>;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
+...
+LL | const fn my_const_fn(val: u8) -> u8 {
+   | ----------------------------------- `fn(u8) -> u8 {my_const_fn}` declared as private
+
+error: aborting due to previous error; 2 warnings emitted
+
+For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-1.rs b/src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-1.rs
new file mode 100644
index 00000000000..0fe84c1cd2a
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-1.rs
@@ -0,0 +1,24 @@
+// run-pass
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+fn callee<const M2: usize>() -> usize
+where
+    [u8; M2 + 1]: Sized,
+{
+    M2
+}
+
+fn caller<const N1: usize>() -> usize
+where
+    [u8; N1 + 1]: Sized,
+    [u8; (N1 + 1) + 1]: Sized,
+{
+    callee::<{ N1 + 1 }>()
+}
+
+fn main() {
+    assert_eq!(caller::<4>(), 5);
+}
+
+// Test that the ``(N1 + 1) + 1`` bound on ``caller`` satisfies the ``M2 + 1`` bound on ``callee``
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-2.rs b/src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-2.rs
new file mode 100644
index 00000000000..4f588238e23
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/nested-abstract-consts-2.rs
@@ -0,0 +1,35 @@
+// run-pass
+#![feature(const_evaluatable_checked, const_generics)]
+#![allow(incomplete_features)]
+
+struct Generic<const K: u64>;
+
+struct ConstU64<const K: u64>;
+
+impl<const K: u64> Generic<K>
+where
+    ConstU64<{ K - 1 }>: ,
+{
+    fn foo(self) -> u64 {
+        K
+    }
+}
+
+impl<const K: u64> Generic<K>
+where
+    ConstU64<{ K - 1 }>: ,
+    ConstU64<{ K + 1 }>: ,
+    ConstU64<{ K + 1 - 1 }>: ,
+{
+    fn bar(self) -> u64 {
+        let x: Generic<{ K + 1 }> = Generic;
+        x.foo()
+    }
+}
+
+fn main() {
+    assert_eq!((Generic::<10>).bar(), 11);
+}
+
+// Test that the ``ConstU64<{ K + 1 - 1}>`` bound on ``bar``'s impl block satisfies the
+// ``ConstU64<{K - 1}>`` bound on ``foo``'s impl block
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs b/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs
new file mode 100644
index 00000000000..4d0b87efc77
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs
@@ -0,0 +1,34 @@
+// run-pass
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+fn zero_init<const N: usize>() -> Substs1<N>
+where
+    [u8; N + 1]: ,
+{
+    Substs1([0; N + 1])
+}
+struct Substs1<const N: usize>([u8; N + 1])
+where
+    [(); N + 1]: ;
+
+fn substs2<const M: usize>() -> Substs1<{ M * 2 }>
+where
+    [(); { M * 2 } + 1]: ,
+{
+    zero_init::<{ M * 2 }>()
+}
+
+fn substs3<const L: usize>() -> Substs1<{ (L - 1) * 2 }>
+where
+    [(); (L - 1) * 2 + 1]: ,
+{
+    substs2::<{ L - 1 }>()
+}
+
+fn main() {
+    assert_eq!(substs3::<2>().0, [0; 3]);
+}
+
+// Test that the ``{ (L - 1) * 2 + 1 }`` bound on ``substs3`` satisfies the
+// ``{ N + 1 }`` bound on ``Substs1``
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-2.rs b/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-2.rs
new file mode 100644
index 00000000000..be8219a7446
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-2.rs
@@ -0,0 +1,29 @@
+// run-pass
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features, unused_parens, unused_braces)]
+
+fn zero_init<const N: usize>() -> Substs1<{ (N) }>
+where
+    [u8; { (N) }]: ,
+{
+    Substs1([0; { (N) }])
+}
+
+struct Substs1<const N: usize>([u8; { (N) }])
+where
+    [(); { (N) }]: ;
+
+fn substs2<const M: usize>() -> Substs1<{ (M) }> {
+    zero_init::<{ (M) }>()
+}
+
+fn substs3<const L: usize>() -> Substs1<{ (L) }> {
+    substs2::<{ (L) }>()
+}
+
+fn main() {
+    assert_eq!(substs3::<2>().0, [0; 2]);
+}
+
+// Test that the implicit ``{ (L) }`` bound on ``substs3`` satisfies the
+// ``{ (N) }`` bound on ``Substs1``
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.full.stderr b/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.full.stderr
index c8549f101da..acf0a52ce5b 100644
--- a/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.full.stderr
+++ b/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.full.stderr
@@ -1,9 +1,15 @@
 error[E0080]: evaluation of constant value failed
+  --> $DIR/simple_fail.rs:9:48
+   |
+LL | fn test<const N: usize>() -> Arr<N> where [u8; N - 1]: Sized {
+   |                                                ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+
+error[E0080]: evaluation of constant value failed
   --> $DIR/simple_fail.rs:6:33
    |
 LL | type Arr<const N: usize> = [u8; N - 1];
    |                                 ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
 
-error: aborting due to previous error
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0080`.
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.min.stderr b/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.min.stderr
index df54b4cbca5..fe5463f8acc 100644
--- a/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.min.stderr
+++ b/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.min.stderr
@@ -7,5 +7,14 @@ LL | type Arr<const N: usize> = [u8; N - 1];
    = help: const parameters may only be used as standalone arguments, i.e. `N`
    = help: use `#![feature(const_generics)]` and `#![feature(const_evaluatable_checked)]` to allow generic const expressions
 
-error: aborting due to previous error
+error: generic parameters may not be used in const operations
+  --> $DIR/simple_fail.rs:9:48
+   |
+LL | fn test<const N: usize>() -> Arr<N> where [u8; N - 1]: Sized {
+   |                                                ^ cannot perform const operation using `N`
+   |
+   = help: const parameters may only be used as standalone arguments, i.e. `N`
+   = help: use `#![feature(const_generics)]` and `#![feature(const_evaluatable_checked)]` to allow generic const expressions
+
+error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.rs b/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.rs
index 3cbc077f4f1..c9535d04244 100644
--- a/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.rs
+++ b/src/test/ui/const-generics/const_evaluatable_checked/simple_fail.rs
@@ -1,12 +1,14 @@
 // revisions: full min
 #![cfg_attr(full, feature(const_generics))]
-#![feature(const_evaluatable_checked)]
+#![cfg_attr(full, feature(const_evaluatable_checked))]
 #![allow(incomplete_features)]
 
 type Arr<const N: usize> = [u8; N - 1]; //[full]~ ERROR evaluation of constant
 //[min]~^ ERROR generic parameters may not be used in const operations
 
-fn test<const N: usize>() -> Arr<N> where Arr<N>: Sized {
+fn test<const N: usize>() -> Arr<N> where [u8; N - 1]: Sized {
+//[min]~^ ERROR generic parameters may not be used in const operations
+//[full]~^^ ERROR evaluation of constant
     todo!()
 }
 
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs b/src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs
new file mode 100644
index 00000000000..11c0760cdfe
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs
@@ -0,0 +1,17 @@
+// run-pass
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+fn make_array<const M: usize>() -> [(); M + 1] {
+    [(); M + 1]
+}
+
+fn foo<const N: usize>() -> [(); (N * 2) + 1] {
+    make_array::<{ N * 2 }>()
+}
+
+fn main() {
+    assert_eq!(foo::<10>(), [(); 10 * 2 + 1])
+}
+
+// Tests that N * 2 is considered const_evalutable by appearing as part of the (N * 2) + 1 const
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/ty-alias-substitution.rs b/src/test/ui/const-generics/const_evaluatable_checked/ty-alias-substitution.rs
new file mode 100644
index 00000000000..5c768a61be2
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/ty-alias-substitution.rs
@@ -0,0 +1,14 @@
+// check-pass
+// Test that we correctly substitute generic arguments for type aliases.
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+type Alias<T, const N: usize> = [T; N + 1];
+
+fn foo<const M: usize>() -> Alias<u32, M>  where [u8; M + 1]: Sized {
+    [0; M + 1]
+}
+
+fn main() {
+    foo::<0>();
+}
diff --git a/src/test/ui/const-generics/issue-71202.rs b/src/test/ui/const-generics/issue-71202.rs
new file mode 100644
index 00000000000..78dee1717f1
--- /dev/null
+++ b/src/test/ui/const-generics/issue-71202.rs
@@ -0,0 +1,33 @@
+// check-pass
+
+#![feature(const_generics)]
+#![allow(incomplete_features, const_evaluatable_unchecked)]
+
+use std::marker::PhantomData;
+
+struct DataHolder<T> {
+    item: T,
+}
+
+impl<T: Copy> DataHolder<T> {
+    const ITEM_IS_COPY: [(); 1 - {
+        trait NotCopy {
+            const VALUE: bool = false;
+        }
+
+        impl<__Type: ?Sized> NotCopy for __Type {}
+
+        struct IsCopy<__Type: ?Sized>(PhantomData<__Type>);
+
+        impl<__Type> IsCopy<__Type>
+        where
+            __Type: Sized + Copy,
+        {
+            const VALUE: bool = true;
+        }
+
+        <IsCopy<T>>::VALUE
+    } as usize] = [];
+}
+
+fn main() {}
diff --git a/src/test/ui/const-generics/late-bound-vars/in_closure.rs b/src/test/ui/const-generics/late-bound-vars/in_closure.rs
new file mode 100644
index 00000000000..0aaeaffb4cb
--- /dev/null
+++ b/src/test/ui/const-generics/late-bound-vars/in_closure.rs
@@ -0,0 +1,18 @@
+// run-pass
+#![feature(const_generics)]
+#![allow(incomplete_features)]
+
+const fn inner<'a>() -> usize where &'a (): Sized {
+    3
+}
+
+fn test<'a>() {
+    let _ = || {
+        let _: [u8; inner::<'a>()];
+        let _ = [0; inner::<'a>()];
+    };
+}
+
+fn main() {
+    test();
+}
diff --git a/src/test/ui/const-generics/late-bound-vars/simple.rs b/src/test/ui/const-generics/late-bound-vars/simple.rs
new file mode 100644
index 00000000000..2c411a3bdc5
--- /dev/null
+++ b/src/test/ui/const-generics/late-bound-vars/simple.rs
@@ -0,0 +1,16 @@
+// run-pass
+#![feature(const_generics)]
+#![allow(incomplete_features)]
+
+const fn inner<'a>() -> usize where &'a (): Sized {
+    3
+}
+
+fn test<'a>() {
+    let _: [u8; inner::<'a>()];
+    let _ = [0; inner::<'a>()];
+}
+
+fn main() {
+    test();
+}
diff --git a/src/test/ui/const-ptr/out_of_bounds_read.stderr b/src/test/ui/const-ptr/out_of_bounds_read.stderr
index ca65a079947..87b7c377b00 100644
--- a/src/test/ui/const-ptr/out_of_bounds_read.stderr
+++ b/src/test/ui/const-ptr/out_of_bounds_read.stderr
@@ -15,6 +15,8 @@ LL |     const _READ: u32 = unsafe { ptr::read(PAST_END_PTR) };
    |     ------------------------------------------------------
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
@@ -32,6 +34,9 @@ LL |     unsafe { copy_nonoverlapping(src, dst, count) }
    |
 LL |     const _CONST_READ: u32 = unsafe { PAST_END_PTR.read() };
    |     --------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
@@ -49,6 +54,9 @@ LL |     unsafe { copy_nonoverlapping(src, dst, count) }
    |
 LL |     const _MUT_READ: u32 = unsafe { (PAST_END_PTR as *mut u32).read() };
    |     --------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/const_evaluatable/needs_where_clause.rs b/src/test/ui/const_evaluatable/needs_where_clause.rs
new file mode 100644
index 00000000000..498a2ae7533
--- /dev/null
+++ b/src/test/ui/const_evaluatable/needs_where_clause.rs
@@ -0,0 +1,14 @@
+#![crate_type = "lib"]
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+const fn complex_maths<T>(n : usize) -> usize {
+  2 * n + 1
+}
+
+struct Example<T, const N: usize> {
+  a: [f32; N],
+  b: [f32; complex_maths::<T>(N)],
+  //~^ ERROR unconstrained
+  c: T,
+}
diff --git a/src/test/ui/const_evaluatable/needs_where_clause.stderr b/src/test/ui/const_evaluatable/needs_where_clause.stderr
new file mode 100644
index 00000000000..945105d1a2d
--- /dev/null
+++ b/src/test/ui/const_evaluatable/needs_where_clause.stderr
@@ -0,0 +1,14 @@
+error: unconstrained generic constant
+  --> $DIR/needs_where_clause.rs:11:6
+   |
+LL |   b: [f32; complex_maths::<T>(N)],
+   |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: try adding a `where` bound using this expression: `where [u8; complex_maths::<T>(N)]: Sized`
+  --> $DIR/needs_where_clause.rs:11:12
+   |
+LL |   b: [f32; complex_maths::<T>(N)],
+   |            ^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/const_evaluatable/no_where_clause.rs b/src/test/ui/const_evaluatable/no_where_clause.rs
new file mode 100644
index 00000000000..12f4a22038e
--- /dev/null
+++ b/src/test/ui/const_evaluatable/no_where_clause.rs
@@ -0,0 +1,29 @@
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features, unused)]
+
+const fn complex_maths(n : usize) -> usize {
+  2 * n + 1
+}
+
+pub struct Example<const N: usize> {
+  a: [f32; N],
+  b: [f32; complex_maths(N)],
+  //~^ ERROR unconstrained generic
+}
+
+impl<const N: usize> Example<N> {
+  pub fn new() -> Self {
+    Self {
+      a: [0.; N],
+      b: [0.; complex_maths(N)],
+    }
+  }
+}
+
+impl Example<2> {
+  pub fn sum(&self) -> f32 {
+    self.a.iter().sum::<f32>() + self.b.iter().sum::<f32>()
+  }
+}
+
+fn main() {}
diff --git a/src/test/ui/const_evaluatable/no_where_clause.stderr b/src/test/ui/const_evaluatable/no_where_clause.stderr
new file mode 100644
index 00000000000..84a65f0d1d2
--- /dev/null
+++ b/src/test/ui/const_evaluatable/no_where_clause.stderr
@@ -0,0 +1,14 @@
+error: unconstrained generic constant
+  --> $DIR/no_where_clause.rs:10:6
+   |
+LL |   b: [f32; complex_maths(N)],
+   |      ^^^^^^^^^^^^^^^^^^^^^^^
+   |
+help: try adding a `where` bound using this expression: `where [u8; complex_maths(N)]: Sized`
+  --> $DIR/no_where_clause.rs:10:12
+   |
+LL |   b: [f32; complex_maths(N)],
+   |            ^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/const_prop/inline_spans_lint_attribute.rs b/src/test/ui/const_prop/inline_spans_lint_attribute.rs
new file mode 100644
index 00000000000..656ff02dc67
--- /dev/null
+++ b/src/test/ui/const_prop/inline_spans_lint_attribute.rs
@@ -0,0 +1,15 @@
+// Must be build-pass, because check-pass will not run const prop and thus not emit the lint anyway.
+// build-pass
+// compile-flags: -Zmir-opt-level=2
+
+#![deny(warnings)]
+
+fn main() {
+    #[allow(arithmetic_overflow)]
+    let _ = add(u8::MAX, 1);
+}
+
+#[inline(always)]
+fn add(x: u8, y: u8) -> u8 {
+    x + y
+}
diff --git a/src/test/ui/consts/array-literal-index-oob.rs b/src/test/ui/consts/array-literal-index-oob.rs
index f36ebf38db4..9b3f735b1f8 100644
--- a/src/test/ui/consts/array-literal-index-oob.rs
+++ b/src/test/ui/consts/array-literal-index-oob.rs
@@ -6,6 +6,4 @@
 fn main() {
     &{ [1, 2, 3][4] };
     //~^ WARN operation will panic
-    //~| WARN reaching this expression at runtime will panic or abort
-    //~| WARN erroneous constant used [const_err]
 }
diff --git a/src/test/ui/consts/array-literal-index-oob.stderr b/src/test/ui/consts/array-literal-index-oob.stderr
index 5916ea6d323..f96b8d48b3e 100644
--- a/src/test/ui/consts/array-literal-index-oob.stderr
+++ b/src/test/ui/consts/array-literal-index-oob.stderr
@@ -10,25 +10,5 @@ note: the lint level is defined here
 LL | #![warn(const_err, unconditional_panic)]
    |                    ^^^^^^^^^^^^^^^^^^^
 
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/array-literal-index-oob.rs:7:8
-   |
-LL |     &{ [1, 2, 3][4] };
-   |     ---^^^^^^^^^^^^--
-   |        |
-   |        indexing out of bounds: the len is 3 but the index is 4
-   |
-note: the lint level is defined here
-  --> $DIR/array-literal-index-oob.rs:4:9
-   |
-LL | #![warn(const_err, unconditional_panic)]
-   |         ^^^^^^^^^
-
-warning: erroneous constant used
-  --> $DIR/array-literal-index-oob.rs:7:5
-   |
-LL |     &{ [1, 2, 3][4] };
-   |     ^^^^^^^^^^^^^^^^^ referenced constant has errors
-
-warning: 3 warnings emitted
+warning: 1 warning emitted
 
diff --git a/src/test/ui/consts/assoc_const_generic_impl.rs b/src/test/ui/consts/assoc_const_generic_impl.rs
index 83f334dca9e..71d947b0c2c 100644
--- a/src/test/ui/consts/assoc_const_generic_impl.rs
+++ b/src/test/ui/consts/assoc_const_generic_impl.rs
@@ -9,6 +9,7 @@ trait ZeroSized: Sized {
 
 impl<T: Sized> ZeroSized for T {
     const I_AM_ZERO_SIZED: ()  = [()][std::mem::size_of::<Self>()]; //~ WARN any use of this value
+    //~| WARN this was previously accepted by the compiler but is being phased out
     fn requires_zero_size(self) {
         let () = Self::I_AM_ZERO_SIZED; //~ ERROR erroneous constant encountered
         println!("requires_zero_size called");
diff --git a/src/test/ui/consts/assoc_const_generic_impl.stderr b/src/test/ui/consts/assoc_const_generic_impl.stderr
index db64ebe0c4a..96cb904fa1b 100644
--- a/src/test/ui/consts/assoc_const_generic_impl.stderr
+++ b/src/test/ui/consts/assoc_const_generic_impl.stderr
@@ -11,9 +11,11 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: erroneous constant encountered
-  --> $DIR/assoc_const_generic_impl.rs:13:18
+  --> $DIR/assoc_const_generic_impl.rs:14:18
    |
 LL |         let () = Self::I_AM_ZERO_SIZED;
    |                  ^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/consts/assume-type-intrinsics.stderr b/src/test/ui/consts/assume-type-intrinsics.stderr
index ed09f74e9b1..d46ce44b7ba 100644
--- a/src/test/ui/consts/assume-type-intrinsics.stderr
+++ b/src/test/ui/consts/assume-type-intrinsics.stderr
@@ -16,6 +16,8 @@ LL | |     };
    | |______-
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const-address-of-mut.stderr b/src/test/ui/consts/const-address-of-mut.stderr
index ec2dac5a7d1..60cdcc7df74 100644
--- a/src/test/ui/consts/const-address-of-mut.stderr
+++ b/src/test/ui/consts/const-address-of-mut.stderr
@@ -1,20 +1,29 @@
-error[E0764]: raw mutable references are not allowed in constants
+error[E0658]: raw mutable references are not allowed in constants
   --> $DIR/const-address-of-mut.rs:3:32
    |
 LL | const A: () = { let mut x = 2; &raw mut x; };
-   |                                ^^^^^^^^^^ `&raw mut` is only allowed in `const fn`
+   |                                ^^^^^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
-error[E0764]: raw mutable references are not allowed in statics
+error[E0658]: raw mutable references are not allowed in statics
   --> $DIR/const-address-of-mut.rs:5:33
    |
 LL | static B: () = { let mut x = 2; &raw mut x; };
-   |                                 ^^^^^^^^^^ `&raw mut` is only allowed in `const fn`
+   |                                 ^^^^^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
-error[E0764]: raw mutable references are not allowed in statics
+error[E0658]: raw mutable references are not allowed in statics
   --> $DIR/const-address-of-mut.rs:7:37
    |
 LL | static mut C: () = { let mut x = 2; &raw mut x; };
-   |                                     ^^^^^^^^^^ `&raw mut` is only allowed in `const fn`
+   |                                     ^^^^^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
 error[E0658]: raw mutable references are not allowed in constant functions
   --> $DIR/const-address-of-mut.rs:11:13
@@ -27,5 +36,4 @@ LL |     let y = &raw mut x;
 
 error: aborting due to 4 previous errors
 
-Some errors have detailed explanations: E0658, E0764.
-For more information about an error, try `rustc --explain E0658`.
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/const-repeat.rs b/src/test/ui/consts/const-blocks/const-repeat.rs
index 65d02317d34..65d02317d34 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/const-repeat.rs
+++ b/src/test/ui/consts/const-blocks/const-repeat.rs
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-const.rs b/src/test/ui/consts/const-blocks/fn-call-in-const.rs
index da1bae1be8d..7936af75d84 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-const.rs
+++ b/src/test/ui/consts/const-blocks/fn-call-in-const.rs
@@ -1,7 +1,7 @@
 // run-pass
 
-#![allow(unused)]
-#![feature(const_in_array_repeat_expressions)]
+#![feature(inline_const)]
+#![allow(unused, incomplete_features)]
 
 // Some type that is not copyable.
 struct Bar;
@@ -18,6 +18,6 @@ const _: [u32; 2] = [type_copy(); 2];
 
 // This is allowed because all promotion contexts use the explicit rules for promotability when
 // inside an explicit const context.
-const _: [Option<Bar>; 2] = [type_no_copy(); 2];
+const _: [Option<Bar>; 2] = [const { type_no_copy() }; 2];
 
 fn main() {}
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.rs b/src/test/ui/consts/const-blocks/fn-call-in-non-const.rs
index d40facf232a..19217843759 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.rs
+++ b/src/test/ui/consts/const-blocks/fn-call-in-non-const.rs
@@ -1,5 +1,3 @@
-#![feature(const_in_array_repeat_expressions)]
-
 // Some type that is not copyable.
 struct Bar;
 
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.stderr b/src/test/ui/consts/const-blocks/fn-call-in-non-const.stderr
index 48092432bb1..b75452cd217 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.stderr
+++ b/src/test/ui/consts/const-blocks/fn-call-in-non-const.stderr
@@ -1,5 +1,5 @@
 error[E0277]: the trait bound `Option<Bar>: Copy` is not satisfied
-  --> $DIR/fn-call-in-non-const.rs:16:31
+  --> $DIR/fn-call-in-non-const.rs:14:31
    |
 LL |     let _: [Option<Bar>; 2] = [no_copy(); 2];
    |                               ^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Option<Bar>`
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.rs b/src/test/ui/consts/const-blocks/migrate-fail.rs
index d04b0b7e168..bb12139a7ba 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.rs
+++ b/src/test/ui/consts/const-blocks/migrate-fail.rs
@@ -1,6 +1,5 @@
 // ignore-compare-mode-nll
 // compile-flags: -Z borrowck=migrate
-#![feature(const_in_array_repeat_expressions)]
 #![allow(warnings)]
 
 // Some type that is not copyable.
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.stderr b/src/test/ui/consts/const-blocks/migrate-fail.stderr
index 476d48fd496..0fdbbc36288 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.stderr
+++ b/src/test/ui/consts/const-blocks/migrate-fail.stderr
@@ -1,5 +1,5 @@
 error[E0277]: the trait bound `Option<Bar>: Copy` is not satisfied
-  --> $DIR/migrate-fail.rs:14:37
+  --> $DIR/migrate-fail.rs:13:37
    |
 LL |         let arr: [Option<Bar>; 2] = [x; 2];
    |                                     ^^^^^^ the trait `Copy` is not implemented for `Option<Bar>`
@@ -9,7 +9,7 @@ LL |         let arr: [Option<Bar>; 2] = [x; 2];
    = note: the `Copy` trait is required because the repeated element will be copied
 
 error[E0277]: the trait bound `Option<Bar>: Copy` is not satisfied
-  --> $DIR/migrate-fail.rs:20:37
+  --> $DIR/migrate-fail.rs:19:37
    |
 LL |         let arr: [Option<Bar>; 2] = [x; 2];
    |                                     ^^^^^^ the trait `Copy` is not implemented for `Option<Bar>`
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-pass.rs b/src/test/ui/consts/const-blocks/migrate-pass.rs
index bfa8ebcfdd3..3195717fa38 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-pass.rs
+++ b/src/test/ui/consts/const-blocks/migrate-pass.rs
@@ -1,7 +1,6 @@
 // check-pass
 // compile-flags: -Z borrowck=migrate
 // ignore-compare-mode-nll
-#![feature(const_in_array_repeat_expressions)]
 #![allow(warnings)]
 
 // Some type that is not copyable.
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.rs b/src/test/ui/consts/const-blocks/nll-fail.rs
index 2d5c59d112e..871387c1fd0 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.rs
+++ b/src/test/ui/consts/const-blocks/nll-fail.rs
@@ -1,5 +1,4 @@
 // ignore-compare-mode-nll
-#![feature(const_in_array_repeat_expressions, nll)]
 #![allow(warnings)]
 
 // Some type that is not copyable.
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.stderr b/src/test/ui/consts/const-blocks/nll-fail.stderr
index 3aa69996ff7..81220856359 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.stderr
+++ b/src/test/ui/consts/const-blocks/nll-fail.stderr
@@ -1,5 +1,5 @@
 error[E0277]: the trait bound `Option<Bar>: Copy` is not satisfied
-  --> $DIR/nll-fail.rs:13:37
+  --> $DIR/nll-fail.rs:12:37
    |
 LL |         let arr: [Option<Bar>; 2] = [x; 2];
    |                                     ^^^^^^ the trait `Copy` is not implemented for `Option<Bar>`
@@ -9,7 +9,7 @@ LL |         let arr: [Option<Bar>; 2] = [x; 2];
    = note: the `Copy` trait is required because the repeated element will be copied
 
 error[E0277]: the trait bound `Option<Bar>: Copy` is not satisfied
-  --> $DIR/nll-fail.rs:19:37
+  --> $DIR/nll-fail.rs:18:37
    |
 LL |         let arr: [Option<Bar>; 2] = [x; 2];
    |                                     ^^^^^^ the trait `Copy` is not implemented for `Option<Bar>`
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-pass.rs b/src/test/ui/consts/const-blocks/nll-pass.rs
index a304f877ab7..d8defa19483 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-pass.rs
+++ b/src/test/ui/consts/const-blocks/nll-pass.rs
@@ -1,7 +1,6 @@
 // check-pass
 // ignore-compare-mode-nll
 #![allow(warnings)]
-#![feature(const_in_array_repeat_expressions, nll)]
 
 // Some type that is not copyable.
 struct Bar;
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/run-pass.rs b/src/test/ui/consts/const-blocks/run-pass.rs
index 27bf5dabf56..e11f69babf7 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/run-pass.rs
+++ b/src/test/ui/consts/const-blocks/run-pass.rs
@@ -1,5 +1,4 @@
 // run-pass
-#![feature(const_in_array_repeat_expressions)]
 
 #[derive(Debug, Eq, PartialEq)]
 struct Bar;
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.rs b/src/test/ui/consts/const-blocks/trait-error.rs
index f8df7aafa60..5a614cbdd15 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.rs
+++ b/src/test/ui/consts/const-blocks/trait-error.rs
@@ -1,5 +1,3 @@
-#![feature(const_in_array_repeat_expressions)]
-
 #[derive(Copy, Clone)]
 struct Foo<T>(T);
 
diff --git a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.stderr b/src/test/ui/consts/const-blocks/trait-error.stderr
index 26de67e50fa..26e2848e7f7 100644
--- a/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.stderr
+++ b/src/test/ui/consts/const-blocks/trait-error.stderr
@@ -1,5 +1,5 @@
 error[E0277]: the trait bound `Foo<String>: Copy` is not satisfied
-  --> $DIR/trait-error.rs:7:5
+  --> $DIR/trait-error.rs:5:5
    |
 LL |     [Foo(String::new()); 4];
    |     ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Foo<String>`
diff --git a/src/test/ui/consts/const-err-early.rs b/src/test/ui/consts/const-err-early.rs
index 13dfe7fac99..d8f7635fe9b 100644
--- a/src/test/ui/consts/const-err-early.rs
+++ b/src/test/ui/consts/const-err-early.rs
@@ -1,10 +1,15 @@
 #![deny(const_err)]
 
 pub const A: i8 = -i8::MIN; //~ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const B: u8 = 200u8 + 200u8; //~ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const C: u8 = 200u8 * 4; //~ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const D: u8 = 42u8 - (42u8 + 1); //~ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const E: u8 = [5u8][1]; //~ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let _a = A;
diff --git a/src/test/ui/consts/const-err-early.stderr b/src/test/ui/consts/const-err-early.stderr
index ec55139f173..2b3d8817387 100644
--- a/src/test/ui/consts/const-err-early.stderr
+++ b/src/test/ui/consts/const-err-early.stderr
@@ -11,38 +11,52 @@ note: the lint level is defined here
    |
 LL | #![deny(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-early.rs:4:19
+  --> $DIR/const-err-early.rs:5:19
    |
 LL | pub const B: u8 = 200u8 + 200u8;
    | ------------------^^^^^^^^^^^^^-
    |                   |
    |                   attempt to compute `200_u8 + 200_u8`, which would overflow
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-early.rs:5:19
+  --> $DIR/const-err-early.rs:7:19
    |
 LL | pub const C: u8 = 200u8 * 4;
    | ------------------^^^^^^^^^-
    |                   |
    |                   attempt to compute `200_u8 * 4_u8`, which would overflow
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-early.rs:6:19
+  --> $DIR/const-err-early.rs:9:19
    |
 LL | pub const D: u8 = 42u8 - (42u8 + 1);
    | ------------------^^^^^^^^^^^^^^^^^-
    |                   |
    |                   attempt to compute `42_u8 - 43_u8`, which would overflow
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-early.rs:7:19
+  --> $DIR/const-err-early.rs:11:19
    |
 LL | pub const E: u8 = [5u8][1];
    | ------------------^^^^^^^^-
    |                   |
    |                   index out of bounds: the length is 1 but the index is 1
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 5 previous errors
 
diff --git a/src/test/ui/consts/const-err-multi.rs b/src/test/ui/consts/const-err-multi.rs
index ce74fae9816..62552e1476c 100644
--- a/src/test/ui/consts/const-err-multi.rs
+++ b/src/test/ui/consts/const-err-multi.rs
@@ -2,12 +2,16 @@
 
 pub const A: i8 = -i8::MIN;
 //~^ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const B: i8 = A;
 //~^ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const C: u8 = A as u8;
 //~^ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 pub const D: i8 = 50 - A;
 //~^ ERROR const_err
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let _ = (A, B, C, D);
diff --git a/src/test/ui/consts/const-err-multi.stderr b/src/test/ui/consts/const-err-multi.stderr
index b3123b4e359..c8172e83d10 100644
--- a/src/test/ui/consts/const-err-multi.stderr
+++ b/src/test/ui/consts/const-err-multi.stderr
@@ -11,30 +11,41 @@ note: the lint level is defined here
    |
 LL | #![deny(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-multi.rs:5:19
+  --> $DIR/const-err-multi.rs:6:19
    |
 LL | pub const B: i8 = A;
    | ------------------^-
    |                   |
    |                   referenced constant has errors
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-multi.rs:7:19
+  --> $DIR/const-err-multi.rs:9:19
    |
 LL | pub const C: u8 = A as u8;
    | ------------------^-------
    |                   |
    |                   referenced constant has errors
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-err-multi.rs:9:24
+  --> $DIR/const-err-multi.rs:12:24
    |
 LL | pub const D: i8 = 50 - A;
    | -----------------------^-
    |                        |
    |                        referenced constant has errors
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 4 previous errors
 
diff --git a/src/test/ui/consts/const-err.rs b/src/test/ui/consts/const-err.rs
index d1c5f4f3f32..031f2121a1e 100644
--- a/src/test/ui/consts/const-err.rs
+++ b/src/test/ui/consts/const-err.rs
@@ -10,6 +10,7 @@ fn black_box<T>(_: T) {
 
 const FOO: u8 = [5u8][1];
 //~^ WARN any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     black_box((FOO, FOO));
diff --git a/src/test/ui/consts/const-err.stderr b/src/test/ui/consts/const-err.stderr
index 693b74c2c2f..0c963874a84 100644
--- a/src/test/ui/consts/const-err.stderr
+++ b/src/test/ui/consts/const-err.stderr
@@ -11,15 +11,17 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: erroneous constant used
-  --> $DIR/const-err.rs:15:16
+  --> $DIR/const-err.rs:16:16
    |
 LL |     black_box((FOO, FOO));
    |                ^^^ referenced constant has errors
 
 error[E0080]: erroneous constant used
-  --> $DIR/const-err.rs:15:21
+  --> $DIR/const-err.rs:16:21
    |
 LL |     black_box((FOO, FOO));
    |                     ^^^ referenced constant has errors
diff --git a/src/test/ui/consts/const-eval/conditional_array_execution.rs b/src/test/ui/consts/const-eval/conditional_array_execution.rs
index 2058d2e2184..9b99a685b63 100644
--- a/src/test/ui/consts/const-eval/conditional_array_execution.rs
+++ b/src/test/ui/consts/const-eval/conditional_array_execution.rs
@@ -6,9 +6,11 @@ const X: u32 = 5;
 const Y: u32 = 6;
 const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
 //~^ WARN any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     println!("{}", FOO);
     //~^ ERROR
     //~| WARN erroneous constant used [const_err]
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
diff --git a/src/test/ui/consts/const-eval/conditional_array_execution.stderr b/src/test/ui/consts/const-eval/conditional_array_execution.stderr
index 65dfbd8097e..356a7f58d85 100644
--- a/src/test/ui/consts/const-eval/conditional_array_execution.stderr
+++ b/src/test/ui/consts/const-eval/conditional_array_execution.stderr
@@ -11,18 +11,23 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/conditional_array_execution.rs:11:20
+error[E0080]: evaluation of constant value failed
+  --> $DIR/conditional_array_execution.rs:12:20
    |
 LL |     println!("{}", FOO);
    |                    ^^^ referenced constant has errors
 
 warning: erroneous constant used
-  --> $DIR/conditional_array_execution.rs:11:20
+  --> $DIR/conditional_array_execution.rs:12:20
    |
 LL |     println!("{}", FOO);
    |                    ^^^ referenced constant has errors
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error; 2 warnings emitted
 
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2.rs b/src/test/ui/consts/const-eval/const-eval-overflow2.rs
index 57a9dd55c8b..b11f7d6983b 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow2.rs
+++ b/src/test/ui/consts/const-eval/const-eval-overflow2.rs
@@ -14,46 +14,54 @@ const VALS_I8: (i8,) =
      i8::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I16: (i16,) =
     (
      i16::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I32: (i32,) =
     (
      i32::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I64: (i64,) =
     (
      i64::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U8: (u8,) =
     (
      u8::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U16: (u16,) = (
      u16::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U32: (u32,) = (
      u32::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U64: (u64,) =
     (
      u64::MIN - 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     foo(VALS_I8);
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2.stderr b/src/test/ui/consts/const-eval/const-eval-overflow2.stderr
index 8864bc170f2..66e86c352d1 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow2.stderr
+++ b/src/test/ui/consts/const-eval/const-eval-overflow2.stderr
@@ -13,9 +13,11 @@ note: the lint level is defined here
    |
 LL | #![deny(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:20:6
+  --> $DIR/const-eval-overflow2.rs:21:6
    |
 LL | / const VALS_I16: (i16,) =
 LL | |     (
@@ -23,9 +25,12 @@ LL | |      i16::MIN - 1,
    | |      ^^^^^^^^^^^^ attempt to compute `i16::MIN - 1_i16`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:26:6
+  --> $DIR/const-eval-overflow2.rs:28:6
    |
 LL | / const VALS_I32: (i32,) =
 LL | |     (
@@ -33,9 +38,12 @@ LL | |      i32::MIN - 1,
    | |      ^^^^^^^^^^^^ attempt to compute `i32::MIN - 1_i32`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:32:6
+  --> $DIR/const-eval-overflow2.rs:35:6
    |
 LL | / const VALS_I64: (i64,) =
 LL | |     (
@@ -43,9 +51,12 @@ LL | |      i64::MIN - 1,
    | |      ^^^^^^^^^^^^ attempt to compute `i64::MIN - 1_i64`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:38:6
+  --> $DIR/const-eval-overflow2.rs:42:6
    |
 LL | / const VALS_U8: (u8,) =
 LL | |     (
@@ -53,27 +64,36 @@ LL | |      u8::MIN - 1,
    | |      ^^^^^^^^^^^ attempt to compute `0_u8 - 1_u8`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:43:6
+  --> $DIR/const-eval-overflow2.rs:48:6
    |
 LL | / const VALS_U16: (u16,) = (
 LL | |      u16::MIN - 1,
    | |      ^^^^^^^^^^^^ attempt to compute `0_u16 - 1_u16`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:48:6
+  --> $DIR/const-eval-overflow2.rs:54:6
    |
 LL | / const VALS_U32: (u32,) = (
 LL | |      u32::MIN - 1,
    | |      ^^^^^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2.rs:54:6
+  --> $DIR/const-eval-overflow2.rs:61:6
    |
 LL | / const VALS_U64: (u64,) =
 LL | |     (
@@ -81,6 +101,9 @@ LL | |      u64::MIN - 1,
    | |      ^^^^^^^^^^^^ attempt to compute `0_u64 - 1_u64`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 8 previous errors
 
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2b.rs b/src/test/ui/consts/const-eval/const-eval-overflow2b.rs
index e87952ab0f4..9c3ad8ef9b4 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow2b.rs
+++ b/src/test/ui/consts/const-eval/const-eval-overflow2b.rs
@@ -14,46 +14,54 @@ const VALS_I8: (i8,) =
      i8::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I16: (i16,) =
     (
      i16::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I32: (i32,) =
     (
      i32::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I64: (i64,) =
     (
      i64::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U8: (u8,) =
     (
      u8::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U16: (u16,) = (
      u16::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U32: (u32,) = (
      u32::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U64: (u64,) =
     (
      u64::MAX + 1,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     foo(VALS_I8);
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2b.stderr b/src/test/ui/consts/const-eval/const-eval-overflow2b.stderr
index e66e80c8f19..3401ba47765 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow2b.stderr
+++ b/src/test/ui/consts/const-eval/const-eval-overflow2b.stderr
@@ -13,9 +13,11 @@ note: the lint level is defined here
    |
 LL | #![deny(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:20:6
+  --> $DIR/const-eval-overflow2b.rs:21:6
    |
 LL | / const VALS_I16: (i16,) =
 LL | |     (
@@ -23,9 +25,12 @@ LL | |      i16::MAX + 1,
    | |      ^^^^^^^^^^^^ attempt to compute `i16::MAX + 1_i16`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:26:6
+  --> $DIR/const-eval-overflow2b.rs:28:6
    |
 LL | / const VALS_I32: (i32,) =
 LL | |     (
@@ -33,9 +38,12 @@ LL | |      i32::MAX + 1,
    | |      ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:32:6
+  --> $DIR/const-eval-overflow2b.rs:35:6
    |
 LL | / const VALS_I64: (i64,) =
 LL | |     (
@@ -43,9 +51,12 @@ LL | |      i64::MAX + 1,
    | |      ^^^^^^^^^^^^ attempt to compute `i64::MAX + 1_i64`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:38:6
+  --> $DIR/const-eval-overflow2b.rs:42:6
    |
 LL | / const VALS_U8: (u8,) =
 LL | |     (
@@ -53,27 +64,36 @@ LL | |      u8::MAX + 1,
    | |      ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:43:6
+  --> $DIR/const-eval-overflow2b.rs:48:6
    |
 LL | / const VALS_U16: (u16,) = (
 LL | |      u16::MAX + 1,
    | |      ^^^^^^^^^^^^ attempt to compute `u16::MAX + 1_u16`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:48:6
+  --> $DIR/const-eval-overflow2b.rs:54:6
    |
 LL | / const VALS_U32: (u32,) = (
 LL | |      u32::MAX + 1,
    | |      ^^^^^^^^^^^^ attempt to compute `u32::MAX + 1_u32`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2b.rs:54:6
+  --> $DIR/const-eval-overflow2b.rs:61:6
    |
 LL | / const VALS_U64: (u64,) =
 LL | |     (
@@ -81,6 +101,9 @@ LL | |      u64::MAX + 1,
    | |      ^^^^^^^^^^^^ attempt to compute `u64::MAX + 1_u64`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 8 previous errors
 
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2c.rs b/src/test/ui/consts/const-eval/const-eval-overflow2c.rs
index 84d3dd20a92..bac4d042e23 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow2c.rs
+++ b/src/test/ui/consts/const-eval/const-eval-overflow2c.rs
@@ -14,46 +14,54 @@ const VALS_I8: (i8,) =
      i8::MIN * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I16: (i16,) =
     (
      i16::MIN * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I32: (i32,) =
     (
      i32::MIN * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_I64: (i64,) =
     (
      i64::MIN * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U8: (u8,) =
     (
      u8::MAX * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U16: (u16,) = (
      u16::MAX * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U32: (u32,) = (
      u32::MAX * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 const VALS_U64: (u64,) =
     (
      u64::MAX * 2,
      );
  //~^^ ERROR any use of this value will cause an error
+ //~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     foo(VALS_I8);
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2c.stderr b/src/test/ui/consts/const-eval/const-eval-overflow2c.stderr
index 10e308938f3..93c64090f0e 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow2c.stderr
+++ b/src/test/ui/consts/const-eval/const-eval-overflow2c.stderr
@@ -13,9 +13,11 @@ note: the lint level is defined here
    |
 LL | #![deny(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:20:6
+  --> $DIR/const-eval-overflow2c.rs:21:6
    |
 LL | / const VALS_I16: (i16,) =
 LL | |     (
@@ -23,9 +25,12 @@ LL | |      i16::MIN * 2,
    | |      ^^^^^^^^^^^^ attempt to compute `i16::MIN * 2_i16`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:26:6
+  --> $DIR/const-eval-overflow2c.rs:28:6
    |
 LL | / const VALS_I32: (i32,) =
 LL | |     (
@@ -33,9 +38,12 @@ LL | |      i32::MIN * 2,
    | |      ^^^^^^^^^^^^ attempt to compute `i32::MIN * 2_i32`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:32:6
+  --> $DIR/const-eval-overflow2c.rs:35:6
    |
 LL | / const VALS_I64: (i64,) =
 LL | |     (
@@ -43,9 +51,12 @@ LL | |      i64::MIN * 2,
    | |      ^^^^^^^^^^^^ attempt to compute `i64::MIN * 2_i64`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:38:6
+  --> $DIR/const-eval-overflow2c.rs:42:6
    |
 LL | / const VALS_U8: (u8,) =
 LL | |     (
@@ -53,27 +64,36 @@ LL | |      u8::MAX * 2,
    | |      ^^^^^^^^^^^ attempt to compute `u8::MAX * 2_u8`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:43:6
+  --> $DIR/const-eval-overflow2c.rs:48:6
    |
 LL | / const VALS_U16: (u16,) = (
 LL | |      u16::MAX * 2,
    | |      ^^^^^^^^^^^^ attempt to compute `u16::MAX * 2_u16`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:48:6
+  --> $DIR/const-eval-overflow2c.rs:54:6
    |
 LL | / const VALS_U32: (u32,) = (
 LL | |      u32::MAX * 2,
    | |      ^^^^^^^^^^^^ attempt to compute `u32::MAX * 2_u32`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-eval-overflow2c.rs:54:6
+  --> $DIR/const-eval-overflow2c.rs:61:6
    |
 LL | / const VALS_U64: (u64,) =
 LL | |     (
@@ -81,6 +101,9 @@ LL | |      u64::MAX * 2,
    | |      ^^^^^^^^^^^^ attempt to compute `u64::MAX * 2_u64`, which would overflow
 LL | |      );
    | |_______-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 8 previous errors
 
diff --git a/src/test/ui/consts/const-eval/const-eval-query-stack.rs b/src/test/ui/consts/const-eval/const-eval-query-stack.rs
index 8a6f7de1c9f..8c3959cc11a 100644
--- a/src/test/ui/consts/const-eval/const-eval-query-stack.rs
+++ b/src/test/ui/consts/const-eval/const-eval-query-stack.rs
@@ -1,4 +1,5 @@
-// compile-flags: -Ztreat-err-as-bug
+//~ERROR constructed but no error reported
+// compile-flags: -Ztreat-err-as-bug=2
 // build-fail
 // failure-status: 101
 // rustc-env:RUST_BACKTRACE=1
@@ -15,8 +16,12 @@
 
 #![allow(unconditional_panic)]
 
+#[warn(const_err)]
+const X: i32 = 1 / 0; //~WARN any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
+
 fn main() {
-    let x: &'static i32 = &(1 / 0);
-    //~^ ERROR reaching this expression at runtime will panic or abort [const_err]
+    let x: &'static i32 = &X;
+    //~^ ERROR evaluation of constant value failed
     println!("x={}", x);
 }
diff --git a/src/test/ui/consts/const-eval/const-eval-query-stack.stderr b/src/test/ui/consts/const-eval/const-eval-query-stack.stderr
index 8c57fd37e88..6a205ce9787 100644
--- a/src/test/ui/consts/const-eval/const-eval-query-stack.stderr
+++ b/src/test/ui/consts/const-eval/const-eval-query-stack.stderr
@@ -1,18 +1,26 @@
-error: reaching this expression at runtime will panic or abort
-  --> $DIR/const-eval-query-stack.rs:19:28
+warning: any use of this value will cause an error
+  --> $DIR/const-eval-query-stack.rs:20:16
    |
-LL |     let x: &'static i32 = &(1 / 0);
-   |                           -^^^^^^^
-   |                            |
-   |                            dividing by zero
+LL | const X: i32 = 1 / 0;
+   | ---------------^^^^^-
+   |                |
+   |                attempt to divide `1_i32` by zero
    |
-   = note: `#[deny(const_err)]` on by default
+note: the lint level is defined here
+  --> $DIR/const-eval-query-stack.rs:19:8
+   |
+LL | #[warn(const_err)]
+   |        ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
+error[E0080]: evaluation of constant value failed
+  --> $DIR/const-eval-query-stack.rs:24:28
+   |
+LL |     let x: &'static i32 = &X;
+   |                            ^ referenced constant has errors
 query stack during panic:
-#0 [eval_to_allocation_raw] const-evaluating + checking `main::promoted[1]`
-#1 [eval_to_const_value_raw] simplifying constant for the type system `main::promoted[1]`
-#2 [eval_to_const_value_raw] simplifying constant for the type system `main::promoted[1]`
-#3 [normalize_generic_arg_after_erasing_regions] normalizing `main::promoted[1]`
-#4 [optimized_mir] optimizing MIR for `main`
-#5 [collect_and_partition_mono_items] collect_and_partition_mono_items
+#0 [normalize_generic_arg_after_erasing_regions] normalizing `main::promoted[1]`
+#1 [optimized_mir] optimizing MIR for `main`
+#2 [collect_and_partition_mono_items] collect_and_partition_mono_items
 end of query stack
diff --git a/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs b/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs
index a2196db780c..90bc191020e 100644
--- a/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs
+++ b/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.rs
@@ -27,12 +27,15 @@ fn main() {
 
     const I32_REF_U8_UNION: u8 = unsafe { Nonsense { int_32_ref: &3 }.uint_8 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_U32_UNION: u32 = unsafe { Nonsense { int_32_ref: &3 }.uint_32 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uint_64 };
     //~^ ERROR it is undefined behavior to use this value
@@ -42,12 +45,15 @@ fn main() {
 
     const I32_REF_I8_UNION: i8 = unsafe { Nonsense { int_32_ref: &3 }.int_8 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int_64 };
     //~^ ERROR it is undefined behavior to use this value
@@ -57,55 +63,69 @@ fn main() {
 
     const I32_REF_F32_UNION: f32 = unsafe { Nonsense { int_32_ref: &3 }.float_32 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_F64_UNION: f64 = unsafe { Nonsense { int_32_ref: &3 }.float_64 };
     //~^ ERROR it is undefined behavior to use this value
 
     const I32_REF_BOOL_UNION: bool = unsafe { Nonsense { int_32_ref: &3 }.truthy_falsey };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const I32_REF_CHAR_UNION: char = unsafe { Nonsense { int_32_ref: &3 }.character };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_U8_UNION: u8 = unsafe { Nonsense { stringy: "3" }.uint_8 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_U16_UNION: u16 = unsafe { Nonsense { stringy: "3" }.uint_16 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_U32_UNION: u32 = unsafe { Nonsense { stringy: "3" }.uint_32 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_U64_UNION: u64 = unsafe { Nonsense { stringy: "3" }.uint_64 };
     //~^ ERROR it is undefined behavior to use this value
 
     const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: "3" }.uint_128 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: "3" }.int_8 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: "3" }.int_16 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_I32_UNION: i32 = unsafe { Nonsense { stringy: "3" }.int_32 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_I64_UNION: i64 = unsafe { Nonsense { stringy: "3" }.int_64 };
     //~^ ERROR it is undefined behavior to use this value
 
     const STR_I128_UNION: i128 = unsafe { Nonsense { stringy: "3" }.int_128 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_F32_UNION: f32 = unsafe { Nonsense { stringy: "3" }.float_32 };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: "3" }.float_64 };
     //~^ ERROR it is undefined behavior to use this value
 
     const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: "3" }.truthy_falsey };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
     const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: "3" }.character };
     //~^ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
diff --git a/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.stderr b/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.stderr
index fb0ed1bd5aa..ccd13784784 100644
--- a/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.stderr
+++ b/src/test/ui/consts/const-eval/const-pointer-values-in-various-types.stderr
@@ -15,25 +15,33 @@ LL |     const I32_REF_U8_UNION: u8 = unsafe { Nonsense { int_32_ref: &3 }.uint_
    |                                           unable to turn pointer into raw bytes
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:31:45
+  --> $DIR/const-pointer-values-in-various-types.rs:32:45
    |
 LL |     const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };
    |     ----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                             |
    |                                             unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:34:45
+  --> $DIR/const-pointer-values-in-various-types.rs:36:45
    |
 LL |     const I32_REF_U32_UNION: u32 = unsafe { Nonsense { int_32_ref: &3 }.uint_32 };
    |     ----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                             |
    |                                             unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:37:5
+  --> $DIR/const-pointer-values-in-various-types.rs:40:5
    |
 LL |     const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uint_64 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered pointer to alloc18, but expected initialized plain (non-pointer) bytes
@@ -41,7 +49,7 @@ LL |     const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uin
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:40:5
+  --> $DIR/const-pointer-values-in-various-types.rs:43:5
    |
 LL |     const I32_REF_U128_UNION: u128 = unsafe { Nonsense { int_32_ref: &3 }.uint_128 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes
@@ -49,31 +57,40 @@ LL |     const I32_REF_U128_UNION: u128 = unsafe { Nonsense { int_32_ref: &3 }.u
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:43:43
+  --> $DIR/const-pointer-values-in-various-types.rs:46:43
    |
 LL |     const I32_REF_I8_UNION: i8 = unsafe { Nonsense { int_32_ref: &3 }.int_8 };
    |     --------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                           |
    |                                           unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:46:45
+  --> $DIR/const-pointer-values-in-various-types.rs:50:45
    |
 LL |     const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };
    |     ----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                             |
    |                                             unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:49:45
+  --> $DIR/const-pointer-values-in-various-types.rs:54:45
    |
 LL |     const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };
    |     ----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                             |
    |                                             unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:52:5
+  --> $DIR/const-pointer-values-in-various-types.rs:58:5
    |
 LL |     const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int_64 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered pointer to alloc38, but expected initialized plain (non-pointer) bytes
@@ -81,7 +98,7 @@ LL |     const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:55:5
+  --> $DIR/const-pointer-values-in-various-types.rs:61:5
    |
 LL |     const I32_REF_I128_UNION: i128 = unsafe { Nonsense { int_32_ref: &3 }.int_128 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes
@@ -89,15 +106,18 @@ LL |     const I32_REF_I128_UNION: i128 = unsafe { Nonsense { int_32_ref: &3 }.i
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:58:45
+  --> $DIR/const-pointer-values-in-various-types.rs:64:45
    |
 LL |     const I32_REF_F32_UNION: f32 = unsafe { Nonsense { int_32_ref: &3 }.float_32 };
    |     ----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                             |
    |                                             unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:61:5
+  --> $DIR/const-pointer-values-in-various-types.rs:68:5
    |
 LL |     const I32_REF_F64_UNION: f64 = unsafe { Nonsense { int_32_ref: &3 }.float_64 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered pointer to alloc50, but expected initialized plain (non-pointer) bytes
@@ -105,47 +125,62 @@ LL |     const I32_REF_F64_UNION: f64 = unsafe { Nonsense { int_32_ref: &3 }.flo
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:64:47
+  --> $DIR/const-pointer-values-in-various-types.rs:71:47
    |
 LL |     const I32_REF_BOOL_UNION: bool = unsafe { Nonsense { int_32_ref: &3 }.truthy_falsey };
    |     ------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                               |
    |                                               unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:67:47
+  --> $DIR/const-pointer-values-in-various-types.rs:75:47
    |
 LL |     const I32_REF_CHAR_UNION: char = unsafe { Nonsense { int_32_ref: &3 }.character };
    |     ------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                               |
    |                                               unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:70:39
+  --> $DIR/const-pointer-values-in-various-types.rs:79:39
    |
 LL |     const STR_U8_UNION: u8 = unsafe { Nonsense { stringy: "3" }.uint_8 };
    |     ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                       |
    |                                       unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:73:41
+  --> $DIR/const-pointer-values-in-various-types.rs:83:41
    |
 LL |     const STR_U16_UNION: u16 = unsafe { Nonsense { stringy: "3" }.uint_16 };
    |     ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                         |
    |                                         unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:76:41
+  --> $DIR/const-pointer-values-in-various-types.rs:87:41
    |
 LL |     const STR_U32_UNION: u32 = unsafe { Nonsense { stringy: "3" }.uint_32 };
    |     ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                         |
    |                                         unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:79:5
+  --> $DIR/const-pointer-values-in-various-types.rs:91:5
    |
 LL |     const STR_U64_UNION: u64 = unsafe { Nonsense { stringy: "3" }.uint_64 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered pointer to alloc71, but expected initialized plain (non-pointer) bytes
@@ -153,39 +188,51 @@ LL |     const STR_U64_UNION: u64 = unsafe { Nonsense { stringy: "3" }.uint_64 }
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:82:43
+  --> $DIR/const-pointer-values-in-various-types.rs:94:43
    |
 LL |     const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: "3" }.uint_128 };
    |     --------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                           |
    |                                           unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:85:39
+  --> $DIR/const-pointer-values-in-various-types.rs:98:39
    |
 LL |     const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: "3" }.int_8 };
    |     ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                       |
    |                                       unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:88:41
+  --> $DIR/const-pointer-values-in-various-types.rs:102:41
    |
 LL |     const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: "3" }.int_16 };
    |     ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                         |
    |                                         unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:91:41
+  --> $DIR/const-pointer-values-in-various-types.rs:106:41
    |
 LL |     const STR_I32_UNION: i32 = unsafe { Nonsense { stringy: "3" }.int_32 };
    |     ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                         |
    |                                         unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:94:5
+  --> $DIR/const-pointer-values-in-various-types.rs:110:5
    |
 LL |     const STR_I64_UNION: i64 = unsafe { Nonsense { stringy: "3" }.int_64 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered pointer to alloc86, but expected initialized plain (non-pointer) bytes
@@ -193,23 +240,29 @@ LL |     const STR_I64_UNION: i64 = unsafe { Nonsense { stringy: "3" }.int_64 };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:97:43
+  --> $DIR/const-pointer-values-in-various-types.rs:113:43
    |
 LL |     const STR_I128_UNION: i128 = unsafe { Nonsense { stringy: "3" }.int_128 };
    |     --------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                           |
    |                                           unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:100:41
+  --> $DIR/const-pointer-values-in-various-types.rs:117:41
    |
 LL |     const STR_F32_UNION: f32 = unsafe { Nonsense { stringy: "3" }.float_32 };
    |     ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                         |
    |                                         unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const-pointer-values-in-various-types.rs:103:5
+  --> $DIR/const-pointer-values-in-various-types.rs:121:5
    |
 LL |     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: "3" }.float_64 };
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered pointer to alloc95, but expected initialized plain (non-pointer) bytes
@@ -217,20 +270,26 @@ LL |     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: "3" }.float_64
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:106:43
+  --> $DIR/const-pointer-values-in-various-types.rs:124:43
    |
 LL |     const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: "3" }.truthy_falsey };
    |     --------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                           |
    |                                           unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-pointer-values-in-various-types.rs:109:43
+  --> $DIR/const-pointer-values-in-various-types.rs:128:43
    |
 LL |     const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: "3" }.character };
    |     --------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                           |
    |                                           unable to turn pointer into raw bytes
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 29 previous errors
 
diff --git a/src/test/ui/consts/const-eval/const_fn_ptr_fail2.rs b/src/test/ui/consts/const-eval/const_fn_ptr_fail2.rs
index f67871e6142..0a2532973f4 100644
--- a/src/test/ui/consts/const-eval/const_fn_ptr_fail2.rs
+++ b/src/test/ui/consts/const-eval/const_fn_ptr_fail2.rs
@@ -18,7 +18,7 @@ const Z: usize = bar(double, 2); // FIXME: should fail to typeck someday
 
 fn main() {
     assert_eq!(Y, 4);
-    //~^ ERROR evaluation of constant expression failed
+    //~^ ERROR evaluation of constant value failed
     assert_eq!(Z, 4);
-    //~^ ERROR evaluation of constant expression failed
+    //~^ ERROR evaluation of constant value failed
 }
diff --git a/src/test/ui/consts/const-eval/const_fn_ptr_fail2.stderr b/src/test/ui/consts/const-eval/const_fn_ptr_fail2.stderr
index 822d4af8306..2afedf30563 100644
--- a/src/test/ui/consts/const-eval/const_fn_ptr_fail2.stderr
+++ b/src/test/ui/consts/const-eval/const_fn_ptr_fail2.stderr
@@ -1,22 +1,14 @@
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/const_fn_ptr_fail2.rs:20:5
+error[E0080]: evaluation of constant value failed
+  --> $DIR/const_fn_ptr_fail2.rs:20:16
    |
 LL |     assert_eq!(Y, 4);
-   |     ^^^^^^^^^^^-^^^^^
-   |                |
-   |                referenced constant has errors
-   |
-   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+   |                ^ referenced constant has errors
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/const_fn_ptr_fail2.rs:22:5
+error[E0080]: evaluation of constant value failed
+  --> $DIR/const_fn_ptr_fail2.rs:22:16
    |
 LL |     assert_eq!(Z, 4);
-   |     ^^^^^^^^^^^-^^^^^
-   |                |
-   |                referenced constant has errors
-   |
-   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+   |                ^ referenced constant has errors
 
 warning: skipping const checks
    |
diff --git a/src/test/ui/consts/const-eval/const_panic.rs b/src/test/ui/consts/const-eval/const_panic.rs
index 799c185fb8e..8ae8376ae4a 100644
--- a/src/test/ui/consts/const-eval/const_panic.rs
+++ b/src/test/ui/consts/const-eval/const_panic.rs
@@ -1,34 +1,45 @@
 #![feature(const_panic)]
+#![allow(non_fmt_panic)]
 #![crate_type = "lib"]
 
 const MSG: &str = "hello";
 
 const Z: () = std::panic!("cheese");
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const Z2: () = std::panic!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const Y: () = std::unreachable!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const X: () = std::unimplemented!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 //
 const W: () = std::panic!(MSG);
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const Z_CORE: () = core::panic!("cheese");
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const Z2_CORE: () = core::panic!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const Y_CORE: () = core::unreachable!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const X_CORE: () = core::unimplemented!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const W_CORE: () = core::panic!(MSG);
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
diff --git a/src/test/ui/consts/const-eval/const_panic.stderr b/src/test/ui/consts/const-eval/const_panic.stderr
index c2711952d58..74907a0b495 100644
--- a/src/test/ui/consts/const-eval/const_panic.stderr
+++ b/src/test/ui/consts/const-eval/const_panic.stderr
@@ -1,102 +1,122 @@
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:6:15
+  --> $DIR/const_panic.rs:7:15
    |
 LL | const Z: () = std::panic!("cheese");
    | --------------^^^^^^^^^^^^^^^^^^^^^-
    |               |
-   |               the evaluated program panicked at 'cheese', $DIR/const_panic.rs:6:15
+   |               the evaluated program panicked at 'cheese', $DIR/const_panic.rs:7:15
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:9:16
+  --> $DIR/const_panic.rs:11:16
    |
 LL | const Z2: () = std::panic!();
    | ---------------^^^^^^^^^^^^^-
    |                |
-   |                the evaluated program panicked at 'explicit panic', $DIR/const_panic.rs:9:16
+   |                the evaluated program panicked at 'explicit panic', $DIR/const_panic.rs:11:16
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:12:15
+  --> $DIR/const_panic.rs:15:15
    |
 LL | const Y: () = std::unreachable!();
    | --------------^^^^^^^^^^^^^^^^^^^-
    |               |
-   |               the evaluated program panicked at 'internal error: entered unreachable code', $DIR/const_panic.rs:12:15
+   |               the evaluated program panicked at 'internal error: entered unreachable code', $DIR/const_panic.rs:15:15
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:15:15
+  --> $DIR/const_panic.rs:19:15
    |
 LL | const X: () = std::unimplemented!();
    | --------------^^^^^^^^^^^^^^^^^^^^^-
    |               |
-   |               the evaluated program panicked at 'not implemented', $DIR/const_panic.rs:15:15
+   |               the evaluated program panicked at 'not implemented', $DIR/const_panic.rs:19:15
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:18:15
+  --> $DIR/const_panic.rs:23:15
    |
 LL | const W: () = std::panic!(MSG);
    | --------------^^^^^^^^^^^^^^^^-
    |               |
-   |               the evaluated program panicked at 'hello', $DIR/const_panic.rs:18:15
+   |               the evaluated program panicked at 'hello', $DIR/const_panic.rs:23:15
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:21:20
+  --> $DIR/const_panic.rs:27:20
    |
 LL | const Z_CORE: () = core::panic!("cheese");
    | -------------------^^^^^^^^^^^^^^^^^^^^^^-
    |                    |
-   |                    the evaluated program panicked at 'cheese', $DIR/const_panic.rs:21:20
+   |                    the evaluated program panicked at 'cheese', $DIR/const_panic.rs:27:20
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:24:21
+  --> $DIR/const_panic.rs:31:21
    |
 LL | const Z2_CORE: () = core::panic!();
    | --------------------^^^^^^^^^^^^^^-
    |                     |
-   |                     the evaluated program panicked at 'explicit panic', $DIR/const_panic.rs:24:21
+   |                     the evaluated program panicked at 'explicit panic', $DIR/const_panic.rs:31:21
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:27:20
+  --> $DIR/const_panic.rs:35:20
    |
 LL | const Y_CORE: () = core::unreachable!();
    | -------------------^^^^^^^^^^^^^^^^^^^^-
    |                    |
-   |                    the evaluated program panicked at 'internal error: entered unreachable code', $DIR/const_panic.rs:27:20
+   |                    the evaluated program panicked at 'internal error: entered unreachable code', $DIR/const_panic.rs:35:20
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:30:20
+  --> $DIR/const_panic.rs:39:20
    |
 LL | const X_CORE: () = core::unimplemented!();
    | -------------------^^^^^^^^^^^^^^^^^^^^^^-
    |                    |
-   |                    the evaluated program panicked at 'not implemented', $DIR/const_panic.rs:30:20
+   |                    the evaluated program panicked at 'not implemented', $DIR/const_panic.rs:39:20
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic.rs:33:20
+  --> $DIR/const_panic.rs:43:20
    |
 LL | const W_CORE: () = core::panic!(MSG);
    | -------------------^^^^^^^^^^^^^^^^^-
    |                    |
-   |                    the evaluated program panicked at 'hello', $DIR/const_panic.rs:33:20
+   |                    the evaluated program panicked at 'hello', $DIR/const_panic.rs:43:20
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to 10 previous errors
diff --git a/src/test/ui/consts/const-eval/const_panic_libcore_bin.rs b/src/test/ui/consts/const-eval/const_panic_libcore_bin.rs
index 6b03e847def..0eb1e3eb94e 100644
--- a/src/test/ui/consts/const-eval/const_panic_libcore_bin.rs
+++ b/src/test/ui/consts/const-eval/const_panic_libcore_bin.rs
@@ -8,12 +8,15 @@ use core::panic::PanicInfo;
 
 const Z: () = panic!("cheese");
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const Y: () = unreachable!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const X: () = unimplemented!();
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 #[lang = "eh_personality"]
 fn eh() {}
diff --git a/src/test/ui/consts/const-eval/const_panic_libcore_bin.stderr b/src/test/ui/consts/const-eval/const_panic_libcore_bin.stderr
index 9eeddc464f5..7c33610faff 100644
--- a/src/test/ui/consts/const-eval/const_panic_libcore_bin.stderr
+++ b/src/test/ui/consts/const-eval/const_panic_libcore_bin.stderr
@@ -7,26 +7,32 @@ LL | const Z: () = panic!("cheese");
    |               the evaluated program panicked at 'cheese', $DIR/const_panic_libcore_bin.rs:9:15
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic_libcore_bin.rs:12:15
+  --> $DIR/const_panic_libcore_bin.rs:13:15
    |
 LL | const Y: () = unreachable!();
    | --------------^^^^^^^^^^^^^^-
    |               |
-   |               the evaluated program panicked at 'internal error: entered unreachable code', $DIR/const_panic_libcore_bin.rs:12:15
+   |               the evaluated program panicked at 'internal error: entered unreachable code', $DIR/const_panic_libcore_bin.rs:13:15
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: any use of this value will cause an error
-  --> $DIR/const_panic_libcore_bin.rs:15:15
+  --> $DIR/const_panic_libcore_bin.rs:17:15
    |
 LL | const X: () = unimplemented!();
    | --------------^^^^^^^^^^^^^^^^-
    |               |
-   |               the evaluated program panicked at 'not implemented', $DIR/const_panic_libcore_bin.rs:15:15
+   |               the evaluated program panicked at 'not implemented', $DIR/const_panic_libcore_bin.rs:17:15
    |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/consts/const-eval/const_raw_ptr_ops2.rs b/src/test/ui/consts/const-eval/const_raw_ptr_ops2.rs
index d2a7623837a..c6a623b2932 100644
--- a/src/test/ui/consts/const-eval/const_raw_ptr_ops2.rs
+++ b/src/test/ui/consts/const-eval/const_raw_ptr_ops2.rs
@@ -6,8 +6,11 @@ fn main() {}
 const Y: usize = unsafe { 42usize as *const i32 as usize + 1 };
 // unconst and bad, will thus error in miri
 const Y2: usize = unsafe { &1 as *const i32 as usize + 1 }; //~ ERROR any use of this
+//~| WARN this was previously accepted by the compiler but is being phased out
 // unconst and fine
 const Z: i32 = unsafe { *(&1 as *const i32) };
 // unconst and bad, will thus error in miri
 const Z2: i32 = unsafe { *(42 as *const i32) }; //~ ERROR any use of this value will cause
+//~| WARN this was previously accepted by the compiler but is being phased out
 const Z3: i32 = unsafe { *(44 as *const i32) }; //~ ERROR any use of this value will cause
+//~| WARN this was previously accepted by the compiler but is being phased out
diff --git a/src/test/ui/consts/const-eval/const_raw_ptr_ops2.stderr b/src/test/ui/consts/const-eval/const_raw_ptr_ops2.stderr
index 93f2261745d..f207674ac1d 100644
--- a/src/test/ui/consts/const-eval/const_raw_ptr_ops2.stderr
+++ b/src/test/ui/consts/const-eval/const_raw_ptr_ops2.stderr
@@ -7,22 +7,30 @@ LL | const Y2: usize = unsafe { &1 as *const i32 as usize + 1 };
    |                            "pointer-to-integer cast" needs an rfc before being allowed inside constants
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const_raw_ptr_ops2.rs:12:26
+  --> $DIR/const_raw_ptr_ops2.rs:13:26
    |
 LL | const Z2: i32 = unsafe { *(42 as *const i32) };
    | -------------------------^^^^^^^^^^^^^^^^^^^---
    |                          |
    |                          unable to turn bytes into a pointer
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const_raw_ptr_ops2.rs:13:26
+  --> $DIR/const_raw_ptr_ops2.rs:15:26
    |
 LL | const Z3: i32 = unsafe { *(44 as *const i32) };
    | -------------------------^^^^^^^^^^^^^^^^^^^---
    |                          |
    |                          unable to turn bytes into a pointer
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/consts/const-eval/dangling.rs b/src/test/ui/consts/const-eval/dangling.rs
index 72e97c03220..185d11605fd 100644
--- a/src/test/ui/consts/const-eval/dangling.rs
+++ b/src/test/ui/consts/const-eval/dangling.rs
@@ -6,8 +6,10 @@ use std::mem;
 const TEST: () = { unsafe { //~ NOTE
     let slice: *const [u8] = mem::transmute((1usize, usize::MAX));
     let _val = &*slice; //~ ERROR: any use of this value will cause an error
-    //~^ NOTE: slice is bigger than largest supported object
-    //~^^ on by default
+    //~| NOTE: slice is bigger than largest supported object
+    //~| on by default
+    //~| WARN this was previously accepted by the compiler but is being phased out
+    //~| NOTE
 } };
 
 fn main() {}
diff --git a/src/test/ui/consts/const-eval/dangling.stderr b/src/test/ui/consts/const-eval/dangling.stderr
index b9ddc93b03b..a7f7cf13c5b 100644
--- a/src/test/ui/consts/const-eval/dangling.stderr
+++ b/src/test/ui/consts/const-eval/dangling.stderr
@@ -6,11 +6,14 @@ LL | |     let slice: *const [u8] = mem::transmute((1usize, usize::MAX));
 LL | |     let _val = &*slice;
    | |                ^^^^^^^ invalid metadata in wide pointer: slice is bigger than largest supported object
 LL | |
+...  |
 LL | |
 LL | | } };
    | |____-
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const-eval/erroneous-const.rs b/src/test/ui/consts/const-eval/erroneous-const.rs
index 16bf1adf7db..b79ce4a523f 100644
--- a/src/test/ui/consts/const-eval/erroneous-const.rs
+++ b/src/test/ui/consts/const-eval/erroneous-const.rs
@@ -5,6 +5,7 @@ struct PrintName<T>(T);
 impl<T> PrintName<T> {
     const VOID: () = [()][2]; //~WARN any use of this value will cause an error
     //~^ WARN this operation will panic at runtime
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 const fn no_codegen<T>() {
diff --git a/src/test/ui/consts/const-eval/erroneous-const.stderr b/src/test/ui/consts/const-eval/erroneous-const.stderr
index 040cc3fcf79..16ed596628b 100644
--- a/src/test/ui/consts/const-eval/erroneous-const.stderr
+++ b/src/test/ui/consts/const-eval/erroneous-const.stderr
@@ -23,18 +23,20 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err, unconditional_panic)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: could not evaluate static initializer
-  --> $DIR/erroneous-const.rs:12:17
+  --> $DIR/erroneous-const.rs:13:17
    |
 LL |         let _ = PrintName::<T>::VOID;
    |                 ^^^^^^^^^^^^^^^^^^^^
    |                 |
    |                 referenced constant has errors
-   |                 inside `no_codegen::<i32>` at $DIR/erroneous-const.rs:12:17
+   |                 inside `no_codegen::<i32>` at $DIR/erroneous-const.rs:13:17
 ...
 LL | pub static FOO: () = no_codegen::<i32>();
-   |                      ------------------- inside `FOO` at $DIR/erroneous-const.rs:16:22
+   |                      ------------------- inside `FOO` at $DIR/erroneous-const.rs:17:22
 
 error: aborting due to previous error; 2 warnings emitted
 
diff --git a/src/test/ui/consts/const-eval/feature-gate-const_panic.stderr b/src/test/ui/consts/const-eval/feature-gate-const_panic.stderr
index 56746c04f5c..29c98c45c4e 100644
--- a/src/test/ui/consts/const-eval/feature-gate-const_panic.stderr
+++ b/src/test/ui/consts/const-eval/feature-gate-const_panic.stderr
@@ -9,20 +9,20 @@ LL | const Z: () = panic!("cheese");
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error[E0658]: panicking in constants is unstable
-  --> $DIR/feature-gate-const_panic.rs:9:15
+  --> $DIR/feature-gate-const_panic.rs:6:15
    |
-LL | const X: () = unimplemented!();
-   |               ^^^^^^^^^^^^^^^^
+LL | const Y: () = unreachable!();
+   |               ^^^^^^^^^^^^^^
    |
    = note: see issue #51999 <https://github.com/rust-lang/rust/issues/51999> for more information
    = help: add `#![feature(const_panic)]` to the crate attributes to enable
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error[E0658]: panicking in constants is unstable
-  --> $DIR/feature-gate-const_panic.rs:6:15
+  --> $DIR/feature-gate-const_panic.rs:9:15
    |
-LL | const Y: () = unreachable!();
-   |               ^^^^^^^^^^^^^^
+LL | const X: () = unimplemented!();
+   |               ^^^^^^^^^^^^^^^^
    |
    = note: see issue #51999 <https://github.com/rust-lang/rust/issues/51999> for more information
    = help: add `#![feature(const_panic)]` to the crate attributes to enable
diff --git a/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs b/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs
index 0d809ca9a62..43d79badd72 100644
--- a/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs
+++ b/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs
@@ -9,6 +9,7 @@ const fn foo() -> i32 {
     unsafe {
         let _ = intrinsics::const_allocate(4, 3) as * mut i32;
         //~^ error: any use of this value will cause an error [const_err]
+        //~| WARN this was previously accepted by the compiler but is being phased out
     }
     1
 
diff --git a/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr b/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr
index 41c1b977269..3d529ab4ca6 100644
--- a/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr
+++ b/src/test/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr
@@ -12,6 +12,8 @@ LL |         let _ = intrinsics::const_allocate(4, 3) as * mut i32;
    |                 inside `FOO` at $DIR/alloc_intrinsic_errors.rs:7:18
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.rs b/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.rs
index 795c5154f81..8064cc49359 100644
--- a/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.rs
+++ b/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.rs
@@ -9,6 +9,7 @@ struct PrintName<T>(T);
 impl<T> PrintName<T> {
     const VOID: ! = { let x = 0 * std::mem::size_of::<T>(); [][x] };
     //~^ WARN any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 
 }
 
diff --git a/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.stderr b/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.stderr
index 8647da90a37..73664fa49d1 100644
--- a/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.stderr
+++ b/src/test/ui/consts/const-eval/index-out-of-bounds-never-type.stderr
@@ -11,9 +11,11 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err, unconditional_panic)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: erroneous constant encountered
-  --> $DIR/index-out-of-bounds-never-type.rs:16:13
+  --> $DIR/index-out-of-bounds-never-type.rs:17:13
    |
 LL |     let _ = PrintName::<T>::VOID;
    |             ^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/consts/const-eval/issue-43197.rs b/src/test/ui/consts/const-eval/issue-43197.rs
index 9109307632b..e15f8771dd7 100644
--- a/src/test/ui/consts/const-eval/issue-43197.rs
+++ b/src/test/ui/consts/const-eval/issue-43197.rs
@@ -9,11 +9,15 @@ const fn foo(x: u32) -> u32 {
 fn main() {
     const X: u32 = 0 - 1;
     //~^ WARN any use of this value will cause
+    //~| WARN this was previously accepted by the compiler but is being phased out
     const Y: u32 = foo(0 - 1);
     //~^ WARN any use of this value will cause
+    //~| WARN this was previously accepted by the compiler but is being phased out
     println!("{} {}", X, Y);
-    //~^ ERROR evaluation of constant expression failed
-    //~| ERROR evaluation of constant expression failed
+    //~^ ERROR evaluation of constant value failed
+    //~| ERROR evaluation of constant value failed
     //~| WARN erroneous constant used [const_err]
     //~| WARN erroneous constant used [const_err]
+    //~| WARN this was previously accepted by the compiler but is being phased out
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
diff --git a/src/test/ui/consts/const-eval/issue-43197.stderr b/src/test/ui/consts/const-eval/issue-43197.stderr
index 27e067cedbb..d4d8cbc669a 100644
--- a/src/test/ui/consts/const-eval/issue-43197.stderr
+++ b/src/test/ui/consts/const-eval/issue-43197.stderr
@@ -11,38 +11,49 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 warning: any use of this value will cause an error
-  --> $DIR/issue-43197.rs:12:24
+  --> $DIR/issue-43197.rs:13:24
    |
 LL |     const Y: u32 = foo(0 - 1);
    |     -------------------^^^^^--
    |                        |
    |                        attempt to compute `0_u32 - 1_u32`, which would overflow
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/issue-43197.rs:14:23
+error[E0080]: evaluation of constant value failed
+  --> $DIR/issue-43197.rs:16:23
    |
 LL |     println!("{} {}", X, Y);
    |                       ^ referenced constant has errors
 
 warning: erroneous constant used
-  --> $DIR/issue-43197.rs:14:23
+  --> $DIR/issue-43197.rs:16:23
    |
 LL |     println!("{} {}", X, Y);
    |                       ^ referenced constant has errors
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/issue-43197.rs:14:26
+error[E0080]: evaluation of constant value failed
+  --> $DIR/issue-43197.rs:16:26
    |
 LL |     println!("{} {}", X, Y);
    |                          ^ referenced constant has errors
 
 warning: erroneous constant used
-  --> $DIR/issue-43197.rs:14:26
+  --> $DIR/issue-43197.rs:16:26
    |
 LL |     println!("{} {}", X, Y);
    |                          ^ referenced constant has errors
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 2 previous errors; 4 warnings emitted
 
diff --git a/src/test/ui/consts/const-eval/issue-44578.rs b/src/test/ui/consts/const-eval/issue-44578.rs
index f9194709dc0..79f1301a2f9 100644
--- a/src/test/ui/consts/const-eval/issue-44578.rs
+++ b/src/test/ui/consts/const-eval/issue-44578.rs
@@ -25,5 +25,5 @@ impl Foo for u16 {
 
 fn main() {
     println!("{}", <Bar<u16, u8> as Foo>::AMT);
-    //~^ ERROR evaluation of constant expression failed [E0080]
+    //~^ ERROR evaluation of constant value failed [E0080]
 }
diff --git a/src/test/ui/consts/const-eval/issue-44578.stderr b/src/test/ui/consts/const-eval/issue-44578.stderr
index f4323713e68..bff9f40f82b 100644
--- a/src/test/ui/consts/const-eval/issue-44578.stderr
+++ b/src/test/ui/consts/const-eval/issue-44578.stderr
@@ -1,4 +1,4 @@
-error[E0080]: evaluation of constant expression failed
+error[E0080]: evaluation of constant value failed
   --> $DIR/issue-44578.rs:27:20
    |
 LL |     println!("{}", <Bar<u16, u8> as Foo>::AMT);
diff --git a/src/test/ui/consts/const-eval/issue-49296.rs b/src/test/ui/consts/const-eval/issue-49296.rs
index c6caeeffd22..9fd9e8f3647 100644
--- a/src/test/ui/consts/const-eval/issue-49296.rs
+++ b/src/test/ui/consts/const-eval/issue-49296.rs
@@ -18,6 +18,7 @@ const fn wat(x: u64) -> &'static u64 {
 }
 const X: u64 = *wat(42);
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     println!("{}", X);
diff --git a/src/test/ui/consts/const-eval/issue-49296.stderr b/src/test/ui/consts/const-eval/issue-49296.stderr
index 9363ffbb996..0389471edb5 100644
--- a/src/test/ui/consts/const-eval/issue-49296.stderr
+++ b/src/test/ui/consts/const-eval/issue-49296.stderr
@@ -7,6 +7,8 @@ LL | const X: u64 = *wat(42);
    |                pointer to alloc1 was dereferenced after this allocation got freed
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const-eval/issue-50814-2.rs b/src/test/ui/consts/const-eval/issue-50814-2.rs
index 8f5c8f097a2..15f4de0ae1b 100644
--- a/src/test/ui/consts/const-eval/issue-50814-2.rs
+++ b/src/test/ui/consts/const-eval/issue-50814-2.rs
@@ -12,6 +12,7 @@ struct A<T>(T);
 
 impl<T: C> Foo<T> for A<T> {
     const BAR: usize = [5, 6, 7][T::BOO]; //~ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 fn foo<T: C>() -> &'static usize {
diff --git a/src/test/ui/consts/const-eval/issue-50814-2.stderr b/src/test/ui/consts/const-eval/issue-50814-2.stderr
index ca8885e9350..0c520165496 100644
--- a/src/test/ui/consts/const-eval/issue-50814-2.stderr
+++ b/src/test/ui/consts/const-eval/issue-50814-2.stderr
@@ -7,14 +7,14 @@ LL |     const BAR: usize = [5, 6, 7][T::BOO];
    |                        index out of bounds: the length is 3 but the index is 42
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/issue-50814-2.rs:18:5
+error[E0080]: evaluation of constant value failed
+  --> $DIR/issue-50814-2.rs:19:6
    |
 LL |     &<A<T> as Foo<T>>::BAR
-   |     ^---------------------
-   |      |
-   |      referenced constant has errors
+   |      ^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/consts/const-eval/issue-50814.rs b/src/test/ui/consts/const-eval/issue-50814.rs
index 5c3635e4650..98229f919dd 100644
--- a/src/test/ui/consts/const-eval/issue-50814.rs
+++ b/src/test/ui/consts/const-eval/issue-50814.rs
@@ -14,6 +14,7 @@ struct Sum<A,B>(A,B);
 impl<A: Unsigned, B: Unsigned> Unsigned for Sum<A,B> {
     const MAX: u8 = A::MAX + B::MAX;
     //~^ ERROR any use of this value will cause an error [const_err]
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 fn foo<T>(_: T) -> &'static u8 {
diff --git a/src/test/ui/consts/const-eval/issue-50814.stderr b/src/test/ui/consts/const-eval/issue-50814.stderr
index 73271386276..cf82d1eef3e 100644
--- a/src/test/ui/consts/const-eval/issue-50814.stderr
+++ b/src/test/ui/consts/const-eval/issue-50814.stderr
@@ -7,14 +7,14 @@ LL |     const MAX: u8 = A::MAX + B::MAX;
    |                     attempt to compute `u8::MAX + u8::MAX`, which would overflow
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/issue-50814.rs:20:5
+error[E0080]: evaluation of constant value failed
+  --> $DIR/issue-50814.rs:21:6
    |
 LL |     &Sum::<U8,U8>::MAX
-   |     ^-----------------
-   |      |
-   |      referenced constant has errors
+   |      ^^^^^^^^^^^^^^^^^ referenced constant has errors
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/consts/const-eval/issue-65394.stderr b/src/test/ui/consts/const-eval/issue-65394.stderr
index 771d368d783..ec229d7f53a 100644
--- a/src/test/ui/consts/const-eval/issue-65394.stderr
+++ b/src/test/ui/consts/const-eval/issue-65394.stderr
@@ -1,8 +1,11 @@
-error[E0764]: mutable references are not allowed in constants
+error[E0658]: mutable references are not allowed in constants
   --> $DIR/issue-65394.rs:8:13
    |
 LL |     let r = &mut x;
-   |             ^^^^^^ `&mut` is only allowed in `const fn`
+   |             ^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
 error[E0493]: destructors cannot be evaluated at compile-time
   --> $DIR/issue-65394.rs:7:9
@@ -15,5 +18,5 @@ LL | };
 
 error: aborting due to 2 previous errors
 
-Some errors have detailed explanations: E0493, E0764.
+Some errors have detailed explanations: E0493, E0658.
 For more information about an error, try `rustc --explain E0493`.
diff --git a/src/test/ui/consts/const-eval/panic-assoc-never-type.rs b/src/test/ui/consts/const-eval/panic-assoc-never-type.rs
index 21ee64fa6d9..f76440298b3 100644
--- a/src/test/ui/consts/const-eval/panic-assoc-never-type.rs
+++ b/src/test/ui/consts/const-eval/panic-assoc-never-type.rs
@@ -10,6 +10,7 @@ struct PrintName;
 impl PrintName {
     const VOID: ! = panic!();
     //~^ WARN any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 fn main() {
diff --git a/src/test/ui/consts/const-eval/panic-assoc-never-type.stderr b/src/test/ui/consts/const-eval/panic-assoc-never-type.stderr
index 979f4a5904d..28a3ebede50 100644
--- a/src/test/ui/consts/const-eval/panic-assoc-never-type.stderr
+++ b/src/test/ui/consts/const-eval/panic-assoc-never-type.stderr
@@ -11,10 +11,12 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error[E0080]: erroneous constant used
-  --> $DIR/panic-assoc-never-type.rs:16:13
+  --> $DIR/panic-assoc-never-type.rs:17:13
    |
 LL |     let _ = PrintName::VOID;
    |             ^^^^^^^^^^^^^^^ referenced constant has errors
diff --git a/src/test/ui/consts/const-eval/panic-never-type.rs b/src/test/ui/consts/const-eval/panic-never-type.rs
index 3b28b2fdd24..c5139c575b1 100644
--- a/src/test/ui/consts/const-eval/panic-never-type.rs
+++ b/src/test/ui/consts/const-eval/panic-never-type.rs
@@ -7,6 +7,7 @@
 
 const VOID: ! = panic!();
 //~^ WARN any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let _ = VOID;
diff --git a/src/test/ui/consts/const-eval/panic-never-type.stderr b/src/test/ui/consts/const-eval/panic-never-type.stderr
index af68a2ff442..8f67dd6a8ba 100644
--- a/src/test/ui/consts/const-eval/panic-never-type.stderr
+++ b/src/test/ui/consts/const-eval/panic-never-type.stderr
@@ -11,10 +11,12 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error[E0080]: erroneous constant used
-  --> $DIR/panic-never-type.rs:12:13
+  --> $DIR/panic-never-type.rs:13:13
    |
 LL |     let _ = VOID;
    |             ^^^^ referenced constant has errors
diff --git a/src/test/ui/consts/const-eval/promoted_errors.noopt.stderr b/src/test/ui/consts/const-eval/promoted_errors.noopt.stderr
index ce83d8e9bb0..6f266801bdb 100644
--- a/src/test/ui/consts/const-eval/promoted_errors.noopt.stderr
+++ b/src/test/ui/consts/const-eval/promoted_errors.noopt.stderr
@@ -1,80 +1,45 @@
-warning: this arithmetic operation will overflow
-  --> $DIR/promoted_errors.rs:12:20
-   |
-LL |     println!("{}", 0u32 - 1);
-   |                    ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
-   |
-note: the lint level is defined here
-  --> $DIR/promoted_errors.rs:9:20
-   |
-LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
-   |                    ^^^^^^^^^^^^^^^^^^^
-
-warning: this arithmetic operation will overflow
-  --> $DIR/promoted_errors.rs:14:14
-   |
-LL |     let _x = 0u32 - 1;
-   |              ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ attempt to divide `1_i32` by zero
-   |
-note: the lint level is defined here
-  --> $DIR/promoted_errors.rs:9:41
-   |
-LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
-   |                                         ^^^^^^^^^^^^^^^^^^^
-
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ dividing by zero
+warning: any use of this value will cause an error
+  --> $DIR/promoted_errors.rs:13:5
+   |
+LL |       0 - 1
+   |       ^^^^^
+   |       |
+   |       attempt to compute `0_u32 - 1_u32`, which would overflow
+   |       inside `overflow` at $DIR/promoted_errors.rs:13:5
+   |       inside `X` at $DIR/promoted_errors.rs:33:29
+...
+LL | / const X: () = {
+LL | |     let _x: &'static u32 = &overflow();
+LL | |
+LL | |
+...  |
+LL | |     let _x: &'static i32 = &oob();
+LL | | };
+   | |__-
    |
 note: the lint level is defined here
   --> $DIR/promoted_errors.rs:9:9
    |
 LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
    |         ^^^^^^^^^
-
-warning: erroneous constant used
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ referenced constant has errors
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:20:14
-   |
-LL |     let _x = 1 / (1 - 1);
-   |              ^^^^^^^^^^^ attempt to divide `1_i32` by zero
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
-
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ dividing by zero
-
-warning: erroneous constant used
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ referenced constant has errors
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:26:14
-   |
-LL |     let _x = 1 / (false as u32);
-   |              ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
-
-warning: 10 warnings emitted
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+warning: any use of this value will cause an error
+  --> $DIR/promoted_errors.rs:33:28
+   |
+LL | / const X: () = {
+LL | |     let _x: &'static u32 = &overflow();
+   | |                            ^^^^^^^^^^^ referenced constant has errors
+LL | |
+LL | |
+...  |
+LL | |     let _x: &'static i32 = &oob();
+LL | | };
+   | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+warning: 2 warnings emitted
 
diff --git a/src/test/ui/consts/const-eval/promoted_errors.opt.stderr b/src/test/ui/consts/const-eval/promoted_errors.opt.stderr
index 2c66b175cfc..892f57bfdfc 100644
--- a/src/test/ui/consts/const-eval/promoted_errors.opt.stderr
+++ b/src/test/ui/consts/const-eval/promoted_errors.opt.stderr
@@ -1,74 +1,46 @@
-warning: this arithmetic operation will overflow
-  --> $DIR/promoted_errors.rs:14:14
-   |
-LL |     let _x = 0u32 - 1;
-   |              ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
-   |
-note: the lint level is defined here
-  --> $DIR/promoted_errors.rs:9:20
-   |
-LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
-   |                    ^^^^^^^^^^^^^^^^^^^
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ attempt to divide `1_i32` by zero
-   |
-note: the lint level is defined here
-  --> $DIR/promoted_errors.rs:9:41
-   |
-LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
-   |                                         ^^^^^^^^^^^^^^^^^^^
-
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ dividing by zero
+warning: any use of this value will cause an error
+  --> $DIR/promoted_errors.rs:18:5
+   |
+LL |       1 / 0
+   |       ^^^^^
+   |       |
+   |       attempt to divide `1_i32` by zero
+   |       inside `div_by_zero1` at $DIR/promoted_errors.rs:18:5
+   |       inside `X` at $DIR/promoted_errors.rs:36:29
+...
+LL | / const X: () = {
+LL | |     let _x: &'static u32 = &overflow();
+LL | |
+LL | |
+...  |
+LL | |     let _x: &'static i32 = &oob();
+LL | | };
+   | |__-
    |
 note: the lint level is defined here
   --> $DIR/promoted_errors.rs:9:9
    |
 LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
    |         ^^^^^^^^^
-
-warning: erroneous constant used
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ referenced constant has errors
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:20:14
-   |
-LL |     let _x = 1 / (1 - 1);
-   |              ^^^^^^^^^^^ attempt to divide `1_i32` by zero
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
-
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ dividing by zero
-
-warning: erroneous constant used
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ referenced constant has errors
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:26:14
-   |
-LL |     let _x = 1 / (false as u32);
-   |              ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
-
-warning: 9 warnings emitted
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+warning: any use of this value will cause an error
+  --> $DIR/promoted_errors.rs:36:28
+   |
+LL | / const X: () = {
+LL | |     let _x: &'static u32 = &overflow();
+LL | |
+LL | |
+LL | |     let _x: &'static i32 = &div_by_zero1();
+   | |                            ^^^^^^^^^^^^^^^ referenced constant has errors
+...  |
+LL | |     let _x: &'static i32 = &oob();
+LL | | };
+   | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+warning: 2 warnings emitted
 
diff --git a/src/test/ui/consts/const-eval/promoted_errors.opt_with_overflow_checks.stderr b/src/test/ui/consts/const-eval/promoted_errors.opt_with_overflow_checks.stderr
index ce83d8e9bb0..6f266801bdb 100644
--- a/src/test/ui/consts/const-eval/promoted_errors.opt_with_overflow_checks.stderr
+++ b/src/test/ui/consts/const-eval/promoted_errors.opt_with_overflow_checks.stderr
@@ -1,80 +1,45 @@
-warning: this arithmetic operation will overflow
-  --> $DIR/promoted_errors.rs:12:20
-   |
-LL |     println!("{}", 0u32 - 1);
-   |                    ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
-   |
-note: the lint level is defined here
-  --> $DIR/promoted_errors.rs:9:20
-   |
-LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
-   |                    ^^^^^^^^^^^^^^^^^^^
-
-warning: this arithmetic operation will overflow
-  --> $DIR/promoted_errors.rs:14:14
-   |
-LL |     let _x = 0u32 - 1;
-   |              ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ attempt to divide `1_i32` by zero
-   |
-note: the lint level is defined here
-  --> $DIR/promoted_errors.rs:9:41
-   |
-LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
-   |                                         ^^^^^^^^^^^^^^^^^^^
-
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ dividing by zero
+warning: any use of this value will cause an error
+  --> $DIR/promoted_errors.rs:13:5
+   |
+LL |       0 - 1
+   |       ^^^^^
+   |       |
+   |       attempt to compute `0_u32 - 1_u32`, which would overflow
+   |       inside `overflow` at $DIR/promoted_errors.rs:13:5
+   |       inside `X` at $DIR/promoted_errors.rs:33:29
+...
+LL | / const X: () = {
+LL | |     let _x: &'static u32 = &overflow();
+LL | |
+LL | |
+...  |
+LL | |     let _x: &'static i32 = &oob();
+LL | | };
+   | |__-
    |
 note: the lint level is defined here
   --> $DIR/promoted_errors.rs:9:9
    |
 LL | #![warn(const_err, arithmetic_overflow, unconditional_panic)]
    |         ^^^^^^^^^
-
-warning: erroneous constant used
-  --> $DIR/promoted_errors.rs:16:20
-   |
-LL |     println!("{}", 1 / (1 - 1));
-   |                    ^^^^^^^^^^^ referenced constant has errors
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:20:14
-   |
-LL |     let _x = 1 / (1 - 1);
-   |              ^^^^^^^^^^^ attempt to divide `1_i32` by zero
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
-
-warning: reaching this expression at runtime will panic or abort
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ dividing by zero
-
-warning: erroneous constant used
-  --> $DIR/promoted_errors.rs:22:20
-   |
-LL |     println!("{}", 1 / (false as u32));
-   |                    ^^^^^^^^^^^^^^^^^^ referenced constant has errors
-
-warning: this operation will panic at runtime
-  --> $DIR/promoted_errors.rs:26:14
-   |
-LL |     let _x = 1 / (false as u32);
-   |              ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
-
-warning: 10 warnings emitted
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+warning: any use of this value will cause an error
+  --> $DIR/promoted_errors.rs:33:28
+   |
+LL | / const X: () = {
+LL | |     let _x: &'static u32 = &overflow();
+   | |                            ^^^^^^^^^^^ referenced constant has errors
+LL | |
+LL | |
+...  |
+LL | |     let _x: &'static i32 = &oob();
+LL | | };
+   | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+warning: 2 warnings emitted
 
diff --git a/src/test/ui/consts/const-eval/promoted_errors.rs b/src/test/ui/consts/const-eval/promoted_errors.rs
index 142ce75eebc..7840f67c216 100644
--- a/src/test/ui/consts/const-eval/promoted_errors.rs
+++ b/src/test/ui/consts/const-eval/promoted_errors.rs
@@ -8,21 +8,37 @@
 
 #![warn(const_err, arithmetic_overflow, unconditional_panic)]
 
-fn main() {
-    println!("{}", 0u32 - 1);
-    //[opt_with_overflow_checks,noopt]~^ WARN [arithmetic_overflow]
-    let _x = 0u32 - 1;
-    //~^ WARN [arithmetic_overflow]
-    println!("{}", 1 / (1 - 1));
-    //~^ WARN [unconditional_panic]
-    //~| WARN panic or abort [const_err]
-    //~| WARN erroneous constant used [const_err]
-    let _x = 1 / (1 - 1);
-    //~^ WARN [unconditional_panic]
-    println!("{}", 1 / (false as u32));
-    //~^ WARN [unconditional_panic]
-    //~| WARN panic or abort [const_err]
-    //~| WARN erroneous constant used [const_err]
-    let _x = 1 / (false as u32);
-    //~^ WARN [unconditional_panic]
+// The only way to have promoteds that fail is in `const fn` called from `const`/`static`.
+const fn overflow() -> u32 {
+    0 - 1
+    //[opt_with_overflow_checks,noopt]~^ WARN any use of this value will cause an error
+    //[opt_with_overflow_checks,noopt]~| WARN this was previously accepted by the compiler
 }
+const fn div_by_zero1() -> i32 {
+    1 / 0
+    //[opt]~^ WARN any use of this value will cause an error
+    //[opt]~| WARN this was previously accepted by the compiler but is being phased out
+}
+const fn div_by_zero2() -> i32 {
+    1 / (1 - 1)
+}
+const fn div_by_zero3() -> i32 {
+    1 / (false as i32)
+}
+const fn oob() -> i32 {
+    [1, 2, 3][4]
+}
+
+const X: () = {
+    let _x: &'static u32 = &overflow();
+    //[opt_with_overflow_checks,noopt]~^ WARN any use of this value will cause an error
+    //[opt_with_overflow_checks,noopt]~| WARN this was previously accepted by the compiler
+    let _x: &'static i32 = &div_by_zero1();
+    //[opt]~^ WARN any use of this value will cause an error
+    //[opt]~| WARN this was previously accepted by the compiler but is being phased out
+    let _x: &'static i32 = &div_by_zero2();
+    let _x: &'static i32 = &div_by_zero3();
+    let _x: &'static i32 = &oob();
+};
+
+fn main() {}
diff --git a/src/test/ui/consts/const-eval/pub_const_err.rs b/src/test/ui/consts/const-eval/pub_const_err.rs
index ad165d40a76..5faacd556d4 100644
--- a/src/test/ui/consts/const-eval/pub_const_err.rs
+++ b/src/test/ui/consts/const-eval/pub_const_err.rs
@@ -5,5 +5,6 @@
 
 pub const Z: u32 = 0 - 1;
 //~^ WARN any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 pub type Foo = [i32; 0 - 1];
diff --git a/src/test/ui/consts/const-eval/pub_const_err.stderr b/src/test/ui/consts/const-eval/pub_const_err.stderr
index 5be0fd96723..dd47dca2b2e 100644
--- a/src/test/ui/consts/const-eval/pub_const_err.stderr
+++ b/src/test/ui/consts/const-eval/pub_const_err.stderr
@@ -11,6 +11,8 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 warning: 1 warning emitted
 
diff --git a/src/test/ui/consts/const-eval/pub_const_err_bin.rs b/src/test/ui/consts/const-eval/pub_const_err_bin.rs
index 078e4c896df..82eae25121e 100644
--- a/src/test/ui/consts/const-eval/pub_const_err_bin.rs
+++ b/src/test/ui/consts/const-eval/pub_const_err_bin.rs
@@ -3,6 +3,7 @@
 
 pub const Z: u32 = 0 - 1;
 //~^ WARN any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 pub type Foo = [i32; 0 - 1];
 
diff --git a/src/test/ui/consts/const-eval/pub_const_err_bin.stderr b/src/test/ui/consts/const-eval/pub_const_err_bin.stderr
index 55f8a58ea94..9f413fb8fd7 100644
--- a/src/test/ui/consts/const-eval/pub_const_err_bin.stderr
+++ b/src/test/ui/consts/const-eval/pub_const_err_bin.stderr
@@ -11,6 +11,8 @@ note: the lint level is defined here
    |
 LL | #![warn(const_err)]
    |         ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 warning: 1 warning emitted
 
diff --git a/src/test/ui/consts/const-eval/ub-nonnull.rs b/src/test/ui/consts/const-eval/ub-nonnull.rs
index 4b90b892dce..e4ced600b4c 100644
--- a/src/test/ui/consts/const-eval/ub-nonnull.rs
+++ b/src/test/ui/consts/const-eval/ub-nonnull.rs
@@ -16,6 +16,7 @@ const OUT_OF_BOUNDS_PTR: NonNull<u8> = { unsafe {
     let ptr: &[u8; 256] = mem::transmute(&0u8); // &0 gets promoted so it does not dangle
     // Use address-of-element for pointer arithmetic. This could wrap around to NULL!
     let out_of_bounds_ptr = &ptr[255]; //~ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
     mem::transmute(out_of_bounds_ptr)
 } };
 
diff --git a/src/test/ui/consts/const-eval/ub-nonnull.stderr b/src/test/ui/consts/const-eval/ub-nonnull.stderr
index 39a568d054a..94496b77fe7 100644
--- a/src/test/ui/consts/const-eval/ub-nonnull.stderr
+++ b/src/test/ui/consts/const-eval/ub-nonnull.stderr
@@ -14,6 +14,7 @@ LL | |     let ptr: &[u8; 256] = mem::transmute(&0u8); // &0 gets promoted so it
 LL | |     // Use address-of-element for pointer arithmetic. This could wrap around to NULL!
 LL | |     let out_of_bounds_ptr = &ptr[255];
    | |                              ^^^^^^^^ memory access failed: pointer must be in-bounds at offset 256, but is outside bounds of alloc10 which has size 1
+LL | |
 LL | |     mem::transmute(out_of_bounds_ptr)
 LL | | } };
    | |____-
@@ -23,9 +24,11 @@ note: the lint level is defined here
    |
 LL | #[deny(const_err)] // this triggers a `const_err` so validation does not even happen
    |        ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:22:1
+  --> $DIR/ub-nonnull.rs:23:1
    |
 LL | const NULL_U8: NonZeroU8 = unsafe { mem::transmute(0u8) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0, but expected something greater or equal to 1
@@ -33,7 +36,7 @@ LL | const NULL_U8: NonZeroU8 = unsafe { mem::transmute(0u8) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:24:1
+  --> $DIR/ub-nonnull.rs:25:1
    |
 LL | const NULL_USIZE: NonZeroUsize = unsafe { mem::transmute(0usize) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0, but expected something greater or equal to 1
@@ -41,7 +44,7 @@ LL | const NULL_USIZE: NonZeroUsize = unsafe { mem::transmute(0usize) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:32:1
+  --> $DIR/ub-nonnull.rs:33:1
    |
 LL | const UNINIT: NonZeroU8 = unsafe { MaybeUninit { uninit: () }.init };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered uninitialized bytes at .0, but expected initialized plain (non-pointer) bytes
@@ -49,7 +52,7 @@ LL | const UNINIT: NonZeroU8 = unsafe { MaybeUninit { uninit: () }.init };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:40:1
+  --> $DIR/ub-nonnull.rs:41:1
    |
 LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 42, but expected something in the range 10..=30
@@ -57,7 +60,7 @@ LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:46:1
+  --> $DIR/ub-nonnull.rs:47:1
    |
 LL | const BAD_RANGE2: RestrictedRange2 = unsafe { RestrictedRange2(20) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 20, but expected something less or equal to 10, or greater or equal to 30
diff --git a/src/test/ui/consts/const-eval/ub-wide-ptr.rs b/src/test/ui/consts/const-eval/ub-wide-ptr.rs
index bcd05b4cd7e..2975118cdb7 100644
--- a/src/test/ui/consts/const-eval/ub-wide-ptr.rs
+++ b/src/test/ui/consts/const-eval/ub-wide-ptr.rs
@@ -8,6 +8,12 @@ use std::mem;
 // normalize-stderr-test "alloc\d+" -> "allocN"
 // normalize-stderr-test "size \d+" -> "size N"
 
+/// A newtype wrapper to prevent MIR generation from inserting reborrows that would affect the error
+/// message. Use this whenever the message is "any use of this value will cause an error" instead of
+/// "it is undefined behavior to use this value".
+#[repr(transparent)]
+struct W<T>(T);
+
 #[repr(C)]
 union MaybeUninit<T: Copy> {
     uninit: (),
@@ -95,26 +101,22 @@ const RAW_SLICE_LENGTH_UNINIT: *const [u8] = unsafe {
 
 // # trait object
 // bad trait object
-#[warn(const_err)]
-const TRAIT_OBJ_SHORT_VTABLE_1: &dyn Trait = unsafe { mem::transmute((&92u8, &3u8)) };
-//~^ WARN any use of this value will cause an error [const_err]
+const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
+//~^ ERROR it is undefined behavior to use this value
 // bad trait object
-#[warn(const_err)]
-const TRAIT_OBJ_SHORT_VTABLE_2: &dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-//~^ WARN any use of this value will cause an error [const_err]
+const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
+//~^ ERROR it is undefined behavior to use this value
 // bad trait object
-#[warn(const_err)]
-const TRAIT_OBJ_INT_VTABLE: &dyn Trait = unsafe { mem::transmute((&92u8, 4usize)) };
-//~^ WARN any use of this value will cause an error [const_err]
+const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
+//~^ ERROR it is undefined behavior to use this value
 const TRAIT_OBJ_UNALIGNED_VTABLE: &dyn Trait = unsafe { mem::transmute((&92u8, &[0u8; 128])) };
 //~^ ERROR it is undefined behavior to use this value
 const TRAIT_OBJ_BAD_DROP_FN_NULL: &dyn Trait = unsafe { mem::transmute((&92u8, &[0usize; 8])) };
 //~^ ERROR it is undefined behavior to use this value
 const TRAIT_OBJ_BAD_DROP_FN_INT: &dyn Trait = unsafe { mem::transmute((&92u8, &[1usize; 8])) };
 //~^ ERROR it is undefined behavior to use this value
-#[warn(const_err)]
-const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: &dyn Trait = unsafe { mem::transmute((&92u8, &[&42u8; 8])) };
-//~^ WARN any use of this value will cause an error [const_err]
+const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
+//~^ ERROR it is undefined behavior to use this value
 
 // bad data *inside* the trait object
 const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
diff --git a/src/test/ui/consts/const-eval/ub-wide-ptr.stderr b/src/test/ui/consts/const-eval/ub-wide-ptr.stderr
index ec5d465c882..be9ec16a06f 100644
--- a/src/test/ui/consts/const-eval/ub-wide-ptr.stderr
+++ b/src/test/ui/consts/const-eval/ub-wide-ptr.stderr
@@ -1,5 +1,5 @@
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:31:1
+  --> $DIR/ub-wide-ptr.rs:37:1
    |
 LL | const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a dangling reference (going beyond the bounds of its allocation)
@@ -7,7 +7,7 @@ LL | const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:33:1
+  --> $DIR/ub-wide-ptr.rs:39:1
    |
 LL | const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, usize::MAX)) },);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered invalid reference metadata: slice is bigger than largest supported object at .0
@@ -15,7 +15,7 @@ LL | const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, us
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:36:1
+  --> $DIR/ub-wide-ptr.rs:42:1
    |
 LL | const STR_LENGTH_PTR: &str = unsafe { mem::transmute((&42u8, &3)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered non-integer slice length in wide pointer
@@ -23,7 +23,7 @@ LL | const STR_LENGTH_PTR: &str = unsafe { mem::transmute((&42u8, &3)) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:39:1
+  --> $DIR/ub-wide-ptr.rs:45:1
    |
 LL | const MY_STR_LENGTH_PTR: &MyStr = unsafe { mem::transmute((&42u8, &3)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered non-integer slice length in wide pointer
@@ -31,7 +31,7 @@ LL | const MY_STR_LENGTH_PTR: &MyStr = unsafe { mem::transmute((&42u8, &3)) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:41:1
+  --> $DIR/ub-wide-ptr.rs:47:1
    |
 LL | const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize::MAX)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered invalid reference metadata: slice is bigger than largest supported object
@@ -39,7 +39,7 @@ LL | const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize:
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:45:1
+  --> $DIR/ub-wide-ptr.rs:51:1
    |
 LL | const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered uninitialized data in `str` at .<deref>
@@ -47,7 +47,7 @@ LL | const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit:
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:48:1
+  --> $DIR/ub-wide-ptr.rs:54:1
    |
 LL | const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered uninitialized data in `str` at .<deref>.0
@@ -55,7 +55,7 @@ LL | const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUni
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:55:1
+  --> $DIR/ub-wide-ptr.rs:61:1
    |
 LL | / const SLICE_LENGTH_UNINIT: &[u8] = unsafe {
 LL | |
@@ -67,7 +67,7 @@ LL | | };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:61:1
+  --> $DIR/ub-wide-ptr.rs:67:1
    |
 LL | const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a dangling reference (going beyond the bounds of its allocation)
@@ -75,7 +75,7 @@ LL | const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:64:1
+  --> $DIR/ub-wide-ptr.rs:70:1
    |
 LL | const SLICE_LENGTH_PTR: &[u8] = unsafe { mem::transmute((&42u8, &3)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered non-integer slice length in wide pointer
@@ -83,7 +83,7 @@ LL | const SLICE_LENGTH_PTR: &[u8] = unsafe { mem::transmute((&42u8, &3)) };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:67:1
+  --> $DIR/ub-wide-ptr.rs:73:1
    |
 LL | const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999usize)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a dangling box (going beyond the bounds of its allocation)
@@ -91,7 +91,7 @@ LL | const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999us
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:70:1
+  --> $DIR/ub-wide-ptr.rs:76:1
    |
 LL | const SLICE_LENGTH_PTR_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, &3)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered non-integer slice length in wide pointer
@@ -99,7 +99,7 @@ LL | const SLICE_LENGTH_PTR_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, &3)
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:74:1
+  --> $DIR/ub-wide-ptr.rs:80:1
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0x03 at .<deref>[0], but expected a boolean
@@ -107,7 +107,7 @@ LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:80:1
+  --> $DIR/ub-wide-ptr.rs:86:1
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0x03 at .<deref>.0, but expected a boolean
@@ -115,7 +115,7 @@ LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:83:1
+  --> $DIR/ub-wide-ptr.rs:89:1
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0x03 at .<deref>.1[0], but expected a boolean
@@ -123,7 +123,7 @@ LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::tran
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:90:1
+  --> $DIR/ub-wide-ptr.rs:96:1
    |
 LL | / const RAW_SLICE_LENGTH_UNINIT: *const [u8] = unsafe {
 LL | |
@@ -134,50 +134,32 @@ LL | | };
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
-warning: any use of this value will cause an error
-  --> $DIR/ub-wide-ptr.rs:99:55
-   |
-LL | const TRAIT_OBJ_SHORT_VTABLE_1: &dyn Trait = unsafe { mem::transmute((&92u8, &3u8)) };
-   | ------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
-   |                                                       |
-   |                                                       memory access failed: pointer must be in-bounds at offset N, but is outside bounds of allocN which has size N
+error[E0080]: it is undefined behavior to use this value
+  --> $DIR/ub-wide-ptr.rs:104:1
    |
-note: the lint level is defined here
-  --> $DIR/ub-wide-ptr.rs:98:8
+LL | const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered too small vtable at .0
    |
-LL | #[warn(const_err)]
-   |        ^^^^^^^^^
+   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
-warning: any use of this value will cause an error
-  --> $DIR/ub-wide-ptr.rs:103:55
-   |
-LL | const TRAIT_OBJ_SHORT_VTABLE_2: &dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-   | ------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
-   |                                                       |
-   |                                                       memory access failed: pointer must be in-bounds at offset N, but is outside bounds of allocN which has size N
+error[E0080]: it is undefined behavior to use this value
+  --> $DIR/ub-wide-ptr.rs:107:1
    |
-note: the lint level is defined here
-  --> $DIR/ub-wide-ptr.rs:102:8
+LL | const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered too small vtable at .0
    |
-LL | #[warn(const_err)]
-   |        ^^^^^^^^^
+   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
-warning: any use of this value will cause an error
-  --> $DIR/ub-wide-ptr.rs:107:51
-   |
-LL | const TRAIT_OBJ_INT_VTABLE: &dyn Trait = unsafe { mem::transmute((&92u8, 4usize)) };
-   | --------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
-   |                                                   |
-   |                                                   unable to turn bytes into a pointer
+error[E0080]: it is undefined behavior to use this value
+  --> $DIR/ub-wide-ptr.rs:110:1
    |
-note: the lint level is defined here
-  --> $DIR/ub-wide-ptr.rs:106:8
+LL | const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered dangling vtable pointer in wide pointer at .0
    |
-LL | #[warn(const_err)]
-   |        ^^^^^^^^^
+   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:109:1
+  --> $DIR/ub-wide-ptr.rs:112:1
    |
 LL | const TRAIT_OBJ_UNALIGNED_VTABLE: &dyn Trait = unsafe { mem::transmute((&92u8, &[0u8; 128])) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered unaligned vtable pointer in wide pointer
@@ -185,7 +167,7 @@ LL | const TRAIT_OBJ_UNALIGNED_VTABLE: &dyn Trait = unsafe { mem::transmute((&92
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:111:1
+  --> $DIR/ub-wide-ptr.rs:114:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_NULL: &dyn Trait = unsafe { mem::transmute((&92u8, &[0usize; 8])) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered invalid drop function pointer in vtable (not pointing to a function)
@@ -193,29 +175,23 @@ LL | const TRAIT_OBJ_BAD_DROP_FN_NULL: &dyn Trait = unsafe { mem::transmute((&92
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:113:1
+  --> $DIR/ub-wide-ptr.rs:116:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_INT: &dyn Trait = unsafe { mem::transmute((&92u8, &[1usize; 8])) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered invalid drop function pointer in vtable (not pointing to a function)
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
-warning: any use of this value will cause an error
-  --> $DIR/ub-wide-ptr.rs:116:63
-   |
-LL | const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: &dyn Trait = unsafe { mem::transmute((&92u8, &[&42u8; 8])) };
-   | --------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
-   |                                                               |
-   |                                                               "pointer-to-integer cast" needs an rfc before being allowed inside constants
+error[E0080]: it is undefined behavior to use this value
+  --> $DIR/ub-wide-ptr.rs:118:1
    |
-note: the lint level is defined here
-  --> $DIR/ub-wide-ptr.rs:115:8
+LL | const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered invalid drop function pointer in vtable (not pointing to a function) at .0
    |
-LL | #[warn(const_err)]
-   |        ^^^^^^^^^
+   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:120:1
+  --> $DIR/ub-wide-ptr.rs:122:1
    |
 LL | const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 0x03 at .<deref>.<dyn-downcast>, but expected a boolean
@@ -223,7 +199,7 @@ LL | const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_,
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:124:1
+  --> $DIR/ub-wide-ptr.rs:126:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute((&92u8, 0usize)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered dangling vtable pointer in wide pointer
@@ -231,7 +207,7 @@ LL | const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:126:1
+  --> $DIR/ub-wide-ptr.rs:128:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered too small vtable
@@ -239,17 +215,17 @@ LL | const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transm
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error[E0080]: could not evaluate static initializer
-  --> $DIR/ub-wide-ptr.rs:132:5
+  --> $DIR/ub-wide-ptr.rs:134:5
    |
 LL |     mem::transmute::<_, &dyn Trait>((&92u8, 0usize))
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ inbounds test failed: 0x0 is not a valid pointer
 
 error[E0080]: could not evaluate static initializer
-  --> $DIR/ub-wide-ptr.rs:136:5
+  --> $DIR/ub-wide-ptr.rs:138:5
    |
 LL |     mem::transmute::<_, &dyn Trait>((&92u8, &3u64))
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: pointer must be in-bounds at offset N, but is outside bounds of allocN which has size N
 
-error: aborting due to 24 previous errors; 4 warnings emitted
+error: aborting due to 28 previous errors
 
 For more information about this error, try `rustc --explain E0080`.
diff --git a/src/test/ui/consts/const-eval/unused-broken-const.rs b/src/test/ui/consts/const-eval/unused-broken-const.rs
index 56b16e224e5..3b452368100 100644
--- a/src/test/ui/consts/const-eval/unused-broken-const.rs
+++ b/src/test/ui/consts/const-eval/unused-broken-const.rs
@@ -4,5 +4,6 @@
 
 const FOO: i32 = [][0];
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {}
diff --git a/src/test/ui/consts/const-eval/unused-broken-const.stderr b/src/test/ui/consts/const-eval/unused-broken-const.stderr
index 0cb13790f2f..2ce60ec16a3 100644
--- a/src/test/ui/consts/const-eval/unused-broken-const.stderr
+++ b/src/test/ui/consts/const-eval/unused-broken-const.stderr
@@ -7,6 +7,8 @@ LL | const FOO: i32 = [][0];
    |                  index out of bounds: the length is 0 but the index is 0
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const-eval/unwind-abort.rs b/src/test/ui/consts/const-eval/unwind-abort.rs
index 2dc8e14bed5..10820986fa7 100644
--- a/src/test/ui/consts/const-eval/unwind-abort.rs
+++ b/src/test/ui/consts/const-eval/unwind-abort.rs
@@ -3,6 +3,7 @@
 #[unwind(aborts)]
 const fn foo() {
     panic!() //~ ERROR any use of this value will cause an error [const_err]
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 const _: () = foo();
diff --git a/src/test/ui/consts/const-eval/unwind-abort.stderr b/src/test/ui/consts/const-eval/unwind-abort.stderr
index eee1a35a0dc..f13f2bfe9b1 100644
--- a/src/test/ui/consts/const-eval/unwind-abort.stderr
+++ b/src/test/ui/consts/const-eval/unwind-abort.stderr
@@ -5,13 +5,15 @@ LL |     panic!()
    |     ^^^^^^^^
    |     |
    |     the evaluated program panicked at 'explicit panic', $DIR/unwind-abort.rs:5:5
-   |     inside `foo` at $SRC_DIR/std/src/macros.rs:LL:COL
-   |     inside `_` at $DIR/unwind-abort.rs:8:15
+   |     inside `foo` at $SRC_DIR/std/src/panic.rs:LL:COL
+   |     inside `_` at $DIR/unwind-abort.rs:9:15
 ...
 LL | const _: () = foo();
    | --------------------
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to previous error
diff --git a/src/test/ui/consts/const-eval/validate_uninhabited_zsts.rs b/src/test/ui/consts/const-eval/validate_uninhabited_zsts.rs
index 48a989bf588..4e1c71cd600 100644
--- a/src/test/ui/consts/const-eval/validate_uninhabited_zsts.rs
+++ b/src/test/ui/consts/const-eval/validate_uninhabited_zsts.rs
@@ -5,6 +5,7 @@ const fn foo() -> ! {
     unsafe { std::mem::transmute(()) }
     //~^ WARN any use of this value will cause an error [const_err]
     //~| WARN the type `!` does not permit zero-initialization [invalid_value]
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 #[derive(Clone, Copy)]
diff --git a/src/test/ui/consts/const-eval/validate_uninhabited_zsts.stderr b/src/test/ui/consts/const-eval/validate_uninhabited_zsts.stderr
index 2adff5fc7d4..3f22fac11f6 100644
--- a/src/test/ui/consts/const-eval/validate_uninhabited_zsts.stderr
+++ b/src/test/ui/consts/const-eval/validate_uninhabited_zsts.stderr
@@ -6,19 +6,21 @@ LL |     unsafe { std::mem::transmute(()) }
    |              |
    |              transmuting to uninhabited type
    |              inside `foo` at $DIR/validate_uninhabited_zsts.rs:5:14
-   |              inside `FOO` at $DIR/validate_uninhabited_zsts.rs:14:26
+   |              inside `FOO` at $DIR/validate_uninhabited_zsts.rs:15:26
 ...
 LL | const FOO: [Empty; 3] = [foo(); 3];
    | -----------------------------------
    |
 note: the lint level is defined here
-  --> $DIR/validate_uninhabited_zsts.rs:13:8
+  --> $DIR/validate_uninhabited_zsts.rs:14:8
    |
 LL | #[warn(const_err)]
    |        ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: it is undefined behavior to use this value
-  --> $DIR/validate_uninhabited_zsts.rs:17:1
+  --> $DIR/validate_uninhabited_zsts.rs:18:1
    |
 LL | const BAR: [Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered a value of uninhabited type Empty at [0]
@@ -38,7 +40,7 @@ LL |     unsafe { std::mem::transmute(()) }
    = note: the `!` type has no valid value
 
 warning: the type `Empty` does not permit zero-initialization
-  --> $DIR/validate_uninhabited_zsts.rs:17:35
+  --> $DIR/validate_uninhabited_zsts.rs:18:35
    |
 LL | const BAR: [Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/consts/const-external-macro-const-err.rs b/src/test/ui/consts/const-external-macro-const-err.rs
index 616d24f4a7b..440c42e32ef 100644
--- a/src/test/ui/consts/const-external-macro-const-err.rs
+++ b/src/test/ui/consts/const-external-macro-const-err.rs
@@ -10,4 +10,5 @@ use external_macro::static_assert;
 
 fn main() {
     static_assert!(2 + 2 == 5); //~ ERROR
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
diff --git a/src/test/ui/consts/const-external-macro-const-err.stderr b/src/test/ui/consts/const-external-macro-const-err.stderr
index 350e4b24de1..21fdffa115b 100644
--- a/src/test/ui/consts/const-external-macro-const-err.stderr
+++ b/src/test/ui/consts/const-external-macro-const-err.stderr
@@ -5,6 +5,8 @@ LL |     static_assert!(2 + 2 == 5);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to previous error
diff --git a/src/test/ui/consts/const-int-unchecked.rs b/src/test/ui/consts/const-int-unchecked.rs
index 1596093b2c1..41d8f7a0972 100644
--- a/src/test/ui/consts/const-int-unchecked.rs
+++ b/src/test/ui/consts/const-int-unchecked.rs
@@ -14,54 +14,74 @@ use std::intrinsics;
 
 const SHL_U8: u8 = unsafe { intrinsics::unchecked_shl(5_u8, 8) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_U16: u16 = unsafe { intrinsics::unchecked_shl(5_u16, 16) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_U32: u32 = unsafe { intrinsics::unchecked_shl(5_u32, 32) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_U64: u64 = unsafe { intrinsics::unchecked_shl(5_u64, 64) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_U128: u128 = unsafe { intrinsics::unchecked_shl(5_u128, 128) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // signed types:
 
 const SHL_I8: i8 = unsafe { intrinsics::unchecked_shl(5_i8, 8) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I16: i16 = unsafe { intrinsics::unchecked_shl(5_16, 16) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I32: i32 = unsafe { intrinsics::unchecked_shl(5_i32, 32) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I64: i64 = unsafe { intrinsics::unchecked_shl(5_i64, 64) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I128: i128 = unsafe { intrinsics::unchecked_shl(5_i128, 128) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // and make sure we capture y < 0:
 
 const SHL_I8_NEG: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I16_NEG: i16 = unsafe { intrinsics::unchecked_shl(5_16, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I32_NEG: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I64_NEG: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I128_NEG: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // and that there's no special relation to the value -1 by picking some
 // negative values at random:
 
 const SHL_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -6) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shl(5_16, -13) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -25) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -30) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHL_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -93) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // Repeat it all over for `unchecked_shr`
 
@@ -69,74 +89,101 @@ const SHL_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -93
 
 const SHR_U8: u8 = unsafe { intrinsics::unchecked_shr(5_u8, 8) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_U16: u16 = unsafe { intrinsics::unchecked_shr(5_u16, 16) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_U32: u32 = unsafe { intrinsics::unchecked_shr(5_u32, 32) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_U64: u64 = unsafe { intrinsics::unchecked_shr(5_u64, 64) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_U128: u128 = unsafe { intrinsics::unchecked_shr(5_u128, 128) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // signed types:
 
 const SHR_I8: i8 = unsafe { intrinsics::unchecked_shr(5_i8, 8) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I16: i16 = unsafe { intrinsics::unchecked_shr(5_16, 16) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I32: i32 = unsafe { intrinsics::unchecked_shr(5_i32, 32) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I64: i64 = unsafe { intrinsics::unchecked_shr(5_i64, 64) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I128: i128 = unsafe { intrinsics::unchecked_shr(5_i128, 128) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // and make sure we capture y < 0:
 
 const SHR_I8_NEG: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I16_NEG: i16 = unsafe { intrinsics::unchecked_shr(5_16, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I32_NEG: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I64_NEG: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I128_NEG: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // and that there's no special relation to the value -1 by picking some
 // negative values at random:
 
 const SHR_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -6) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shr(5_16, -13) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -25) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -30) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const SHR_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -93) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // Other arithmetic functions:
 
 const _: u16 = unsafe { std::intrinsics::unchecked_add(40000u16, 30000) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const _: u32 = unsafe { std::intrinsics::unchecked_sub(14u32, 22) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const _: u16 = unsafe { std::intrinsics::unchecked_mul(300u16, 250u16) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const _: i32 = unsafe { std::intrinsics::unchecked_div(1, 0) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const _: i32 = unsafe { std::intrinsics::unchecked_div(i32::MIN, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 const _: i32 = unsafe { std::intrinsics::unchecked_rem(1, 0) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 const _: i32 = unsafe { std::intrinsics::unchecked_rem(i32::MIN, -1) };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {}
diff --git a/src/test/ui/consts/const-int-unchecked.stderr b/src/test/ui/consts/const-int-unchecked.stderr
index 0287b404e7d..e5ecbbc71a7 100644
--- a/src/test/ui/consts/const-int-unchecked.stderr
+++ b/src/test/ui/consts/const-int-unchecked.stderr
@@ -7,374 +7,514 @@ LL | const SHL_U8: u8 = unsafe { intrinsics::unchecked_shl(5_u8, 8) };
    |                             overflowing shift by 8 in `unchecked_shl`
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:17:31
+  --> $DIR/const-int-unchecked.rs:18:31
    |
 LL | const SHL_U16: u16 = unsafe { intrinsics::unchecked_shl(5_u16, 16) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 16 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:19:31
+  --> $DIR/const-int-unchecked.rs:21:31
    |
 LL | const SHL_U32: u32 = unsafe { intrinsics::unchecked_shl(5_u32, 32) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 32 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:21:31
+  --> $DIR/const-int-unchecked.rs:24:31
    |
 LL | const SHL_U64: u64 = unsafe { intrinsics::unchecked_shl(5_u64, 64) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 64 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:23:33
+  --> $DIR/const-int-unchecked.rs:27:33
    |
 LL | const SHL_U128: u128 = unsafe { intrinsics::unchecked_shl(5_u128, 128) };
    | --------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                 |
    |                                 overflowing shift by 128 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:28:29
+  --> $DIR/const-int-unchecked.rs:33:29
    |
 LL | const SHL_I8: i8 = unsafe { intrinsics::unchecked_shl(5_i8, 8) };
    | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                             |
    |                             overflowing shift by 8 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:30:31
+  --> $DIR/const-int-unchecked.rs:36:31
    |
 LL | const SHL_I16: i16 = unsafe { intrinsics::unchecked_shl(5_16, 16) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 16 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:32:31
+  --> $DIR/const-int-unchecked.rs:39:31
    |
 LL | const SHL_I32: i32 = unsafe { intrinsics::unchecked_shl(5_i32, 32) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 32 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:34:31
+  --> $DIR/const-int-unchecked.rs:42:31
    |
 LL | const SHL_I64: i64 = unsafe { intrinsics::unchecked_shl(5_i64, 64) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 64 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:36:33
+  --> $DIR/const-int-unchecked.rs:45:33
    |
 LL | const SHL_I128: i128 = unsafe { intrinsics::unchecked_shl(5_i128, 128) };
    | --------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                 |
    |                                 overflowing shift by 128 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:41:33
+  --> $DIR/const-int-unchecked.rs:51:33
    |
 LL | const SHL_I8_NEG: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -1) };
    | --------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                 |
    |                                 overflowing shift by 255 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:43:35
+  --> $DIR/const-int-unchecked.rs:54:35
    |
 LL | const SHL_I16_NEG: i16 = unsafe { intrinsics::unchecked_shl(5_16, -1) };
    | ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                   |
    |                                   overflowing shift by 65535 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:45:35
+  --> $DIR/const-int-unchecked.rs:57:35
    |
 LL | const SHL_I32_NEG: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -1) };
    | ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                   |
    |                                   overflowing shift by 4294967295 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:47:35
+  --> $DIR/const-int-unchecked.rs:60:35
    |
 LL | const SHL_I64_NEG: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -1) };
    | ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                   |
    |                                   overflowing shift by 18446744073709551615 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:49:37
+  --> $DIR/const-int-unchecked.rs:63:37
    |
 LL | const SHL_I128_NEG: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -1) };
    | ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                     |
    |                                     overflowing shift by 340282366920938463463374607431768211455 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:55:40
+  --> $DIR/const-int-unchecked.rs:70:40
    |
 LL | const SHL_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -6) };
    | ---------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                        |
    |                                        overflowing shift by 250 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:57:42
+  --> $DIR/const-int-unchecked.rs:73:42
    |
 LL | const SHL_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shl(5_16, -13) };
    | -----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                          |
    |                                          overflowing shift by 65523 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:59:42
+  --> $DIR/const-int-unchecked.rs:76:42
    |
 LL | const SHL_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -25) };
    | -----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                          |
    |                                          overflowing shift by 4294967271 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:61:42
+  --> $DIR/const-int-unchecked.rs:79:42
    |
 LL | const SHL_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -30) };
    | -----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                          |
    |                                          overflowing shift by 18446744073709551586 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:63:44
+  --> $DIR/const-int-unchecked.rs:82:44
    |
 LL | const SHL_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -93) };
    | -------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                            |
    |                                            overflowing shift by 340282366920938463463374607431768211363 in `unchecked_shl`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:70:29
+  --> $DIR/const-int-unchecked.rs:90:29
    |
 LL | const SHR_U8: u8 = unsafe { intrinsics::unchecked_shr(5_u8, 8) };
    | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                             |
    |                             overflowing shift by 8 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:72:31
+  --> $DIR/const-int-unchecked.rs:93:31
    |
 LL | const SHR_U16: u16 = unsafe { intrinsics::unchecked_shr(5_u16, 16) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 16 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:74:31
+  --> $DIR/const-int-unchecked.rs:96:31
    |
 LL | const SHR_U32: u32 = unsafe { intrinsics::unchecked_shr(5_u32, 32) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 32 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:76:31
+  --> $DIR/const-int-unchecked.rs:99:31
    |
 LL | const SHR_U64: u64 = unsafe { intrinsics::unchecked_shr(5_u64, 64) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 64 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:78:33
+  --> $DIR/const-int-unchecked.rs:102:33
    |
 LL | const SHR_U128: u128 = unsafe { intrinsics::unchecked_shr(5_u128, 128) };
    | --------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                 |
    |                                 overflowing shift by 128 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:83:29
+  --> $DIR/const-int-unchecked.rs:108:29
    |
 LL | const SHR_I8: i8 = unsafe { intrinsics::unchecked_shr(5_i8, 8) };
    | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                             |
    |                             overflowing shift by 8 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:85:31
+  --> $DIR/const-int-unchecked.rs:111:31
    |
 LL | const SHR_I16: i16 = unsafe { intrinsics::unchecked_shr(5_16, 16) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 16 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:87:31
+  --> $DIR/const-int-unchecked.rs:114:31
    |
 LL | const SHR_I32: i32 = unsafe { intrinsics::unchecked_shr(5_i32, 32) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 32 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:89:31
+  --> $DIR/const-int-unchecked.rs:117:31
    |
 LL | const SHR_I64: i64 = unsafe { intrinsics::unchecked_shr(5_i64, 64) };
    | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                               |
    |                               overflowing shift by 64 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:91:33
+  --> $DIR/const-int-unchecked.rs:120:33
    |
 LL | const SHR_I128: i128 = unsafe { intrinsics::unchecked_shr(5_i128, 128) };
    | --------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                 |
    |                                 overflowing shift by 128 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:96:33
+  --> $DIR/const-int-unchecked.rs:126:33
    |
 LL | const SHR_I8_NEG: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -1) };
    | --------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                 |
    |                                 overflowing shift by 255 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:98:35
+  --> $DIR/const-int-unchecked.rs:129:35
    |
 LL | const SHR_I16_NEG: i16 = unsafe { intrinsics::unchecked_shr(5_16, -1) };
    | ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                   |
    |                                   overflowing shift by 65535 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:100:35
+  --> $DIR/const-int-unchecked.rs:132:35
    |
 LL | const SHR_I32_NEG: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -1) };
    | ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                   |
    |                                   overflowing shift by 4294967295 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:102:35
+  --> $DIR/const-int-unchecked.rs:135:35
    |
 LL | const SHR_I64_NEG: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -1) };
    | ----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                   |
    |                                   overflowing shift by 18446744073709551615 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:104:37
+  --> $DIR/const-int-unchecked.rs:138:37
    |
 LL | const SHR_I128_NEG: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -1) };
    | ------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                     |
    |                                     overflowing shift by 340282366920938463463374607431768211455 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:110:40
+  --> $DIR/const-int-unchecked.rs:145:40
    |
 LL | const SHR_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -6) };
    | ---------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                        |
    |                                        overflowing shift by 250 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:112:42
+  --> $DIR/const-int-unchecked.rs:148:42
    |
 LL | const SHR_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shr(5_16, -13) };
    | -----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                          |
    |                                          overflowing shift by 65523 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:114:42
+  --> $DIR/const-int-unchecked.rs:151:42
    |
 LL | const SHR_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -25) };
    | -----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                          |
    |                                          overflowing shift by 4294967271 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:116:42
+  --> $DIR/const-int-unchecked.rs:154:42
    |
 LL | const SHR_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -30) };
    | -----------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                          |
    |                                          overflowing shift by 18446744073709551586 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:118:44
+  --> $DIR/const-int-unchecked.rs:157:44
    |
 LL | const SHR_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -93) };
    | -------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                            |
    |                                            overflowing shift by 340282366920938463463374607431768211363 in `unchecked_shr`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:123:25
+  --> $DIR/const-int-unchecked.rs:163:25
    |
 LL | const _: u16 = unsafe { std::intrinsics::unchecked_add(40000u16, 30000) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         overflow executing `unchecked_add`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:126:25
+  --> $DIR/const-int-unchecked.rs:167:25
    |
 LL | const _: u32 = unsafe { std::intrinsics::unchecked_sub(14u32, 22) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         overflow executing `unchecked_sub`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:129:25
+  --> $DIR/const-int-unchecked.rs:171:25
    |
 LL | const _: u16 = unsafe { std::intrinsics::unchecked_mul(300u16, 250u16) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         overflow executing `unchecked_mul`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:132:25
+  --> $DIR/const-int-unchecked.rs:175:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_div(1, 0) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         dividing by zero
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:134:25
+  --> $DIR/const-int-unchecked.rs:178:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_div(i32::MIN, -1) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         overflow executing `unchecked_div`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:137:25
+  --> $DIR/const-int-unchecked.rs:182:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_rem(1, 0) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         calculating the remainder with a divisor of zero
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-int-unchecked.rs:139:25
+  --> $DIR/const-int-unchecked.rs:185:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_rem(i32::MIN, -1) };
    | ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                         |
    |                         overflow executing `unchecked_rem`
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 47 previous errors
 
diff --git a/src/test/ui/consts/const-len-underflow-separate-spans.rs b/src/test/ui/consts/const-len-underflow-separate-spans.rs
index 01d2951b416..7c3d1f320f2 100644
--- a/src/test/ui/consts/const-len-underflow-separate-spans.rs
+++ b/src/test/ui/consts/const-len-underflow-separate-spans.rs
@@ -6,6 +6,7 @@ const ONE: usize = 1;
 const TWO: usize = 2;
 const LEN: usize = ONE - TWO;
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let a: [i8; LEN] = unimplemented!();
diff --git a/src/test/ui/consts/const-len-underflow-separate-spans.stderr b/src/test/ui/consts/const-len-underflow-separate-spans.stderr
index 2ab6d0ffdef..70f645a6c40 100644
--- a/src/test/ui/consts/const-len-underflow-separate-spans.stderr
+++ b/src/test/ui/consts/const-len-underflow-separate-spans.stderr
@@ -7,9 +7,11 @@ LL | const LEN: usize = ONE - TWO;
    |                    attempt to compute `1_usize - 2_usize`, which would overflow
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: evaluation of constant value failed
-  --> $DIR/const-len-underflow-separate-spans.rs:11:17
+  --> $DIR/const-len-underflow-separate-spans.rs:12:17
    |
 LL |     let a: [i8; LEN] = unimplemented!();
    |                 ^^^ referenced constant has errors
diff --git a/src/test/ui/consts/const-multi-ref.stderr b/src/test/ui/consts/const-multi-ref.stderr
index c0a320d46cb..dd5cadfe295 100644
--- a/src/test/ui/consts/const-multi-ref.stderr
+++ b/src/test/ui/consts/const-multi-ref.stderr
@@ -1,8 +1,11 @@
-error[E0764]: mutable references are not allowed in constants
+error[E0658]: mutable references are not allowed in constants
   --> $DIR/const-multi-ref.rs:6:13
    |
 LL |     let p = &mut a;
-   |             ^^^^^^ `&mut` is only allowed in `const fn`
+   |             ^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
 error[E0658]: cannot borrow here, since the borrowed element may contain interior mutability
   --> $DIR/const-multi-ref.rs:16:13
@@ -15,5 +18,4 @@ LL |     let p = &a;
 
 error: aborting due to 2 previous errors
 
-Some errors have detailed explanations: E0658, E0764.
-For more information about an error, try `rustc --explain E0658`.
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/const-mut-refs/const_mut_address_of.rs b/src/test/ui/consts/const-mut-refs/const_mut_address_of.rs
index 5819daa817a..24df647f05b 100644
--- a/src/test/ui/consts/const-mut-refs/const_mut_address_of.rs
+++ b/src/test/ui/consts/const-mut-refs/const_mut_address_of.rs
@@ -1,3 +1,4 @@
+// check-pass
 #![feature(const_mut_refs)]
 #![feature(const_fn)]
 #![feature(raw_ref_op)]
@@ -22,9 +23,7 @@ const fn baz(foo: &mut Foo)-> *mut usize {
 
 const _: () = {
     foo().bar();
-    //~^ ERROR mutable references are not allowed in constants
     baz(&mut foo());
-    //~^ ERROR mutable references are not allowed in constants
 };
 
 fn main() {}
diff --git a/src/test/ui/consts/const-mut-refs/const_mut_address_of.stderr b/src/test/ui/consts/const-mut-refs/const_mut_address_of.stderr
deleted file mode 100644
index 2214ce6ee1c..00000000000
--- a/src/test/ui/consts/const-mut-refs/const_mut_address_of.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/const_mut_address_of.rs:24:5
-   |
-LL |     foo().bar();
-   |     ^^^^^ `&mut` is only allowed in `const fn`
-
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/const_mut_address_of.rs:26:9
-   |
-LL |     baz(&mut foo());
-   |         ^^^^^^^^^^ `&mut` is only allowed in `const fn`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0764`.
diff --git a/src/test/ui/consts/const-mut-refs/const_mut_refs.rs b/src/test/ui/consts/const-mut-refs/const_mut_refs.rs
index 9099d5a1b8e..544458dfcd8 100644
--- a/src/test/ui/consts/const-mut-refs/const_mut_refs.rs
+++ b/src/test/ui/consts/const-mut-refs/const_mut_refs.rs
@@ -1,3 +1,4 @@
+// check-pass
 #![feature(const_mut_refs)]
 
 struct Foo {
@@ -29,9 +30,6 @@ const fn bazz(foo: &mut Foo) -> usize {
 
 fn main() {
     let _: [(); foo().bar()] = [(); 1];
-    //~^ ERROR mutable references are not allowed in constants
     let _: [(); baz(&mut foo())] = [(); 2];
-    //~^ ERROR mutable references are not allowed in constants
     let _: [(); bazz(&mut foo())] = [(); 3];
-    //~^ ERROR mutable references are not allowed in constants
 }
diff --git a/src/test/ui/consts/const-mut-refs/const_mut_refs.stderr b/src/test/ui/consts/const-mut-refs/const_mut_refs.stderr
deleted file mode 100644
index 4ca7b128b7c..00000000000
--- a/src/test/ui/consts/const-mut-refs/const_mut_refs.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/const_mut_refs.rs:31:17
-   |
-LL |     let _: [(); foo().bar()] = [(); 1];
-   |                 ^^^^^ `&mut` is only allowed in `const fn`
-
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/const_mut_refs.rs:33:21
-   |
-LL |     let _: [(); baz(&mut foo())] = [(); 2];
-   |                     ^^^^^^^^^^ `&mut` is only allowed in `const fn`
-
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/const_mut_refs.rs:35:22
-   |
-LL |     let _: [(); bazz(&mut foo())] = [(); 3];
-   |                      ^^^^^^^^^^ `&mut` is only allowed in `const fn`
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0764`.
diff --git a/src/test/ui/consts/const-mut-refs/mut_ref_in_final.rs b/src/test/ui/consts/const-mut-refs/mut_ref_in_final.rs
new file mode 100644
index 00000000000..166ba20f124
--- /dev/null
+++ b/src/test/ui/consts/const-mut-refs/mut_ref_in_final.rs
@@ -0,0 +1,57 @@
+#![feature(const_mut_refs)]
+#![feature(const_fn)]
+#![feature(raw_ref_op)]
+#![feature(const_raw_ptr_deref)]
+
+const NULL: *mut i32 = std::ptr::null_mut();
+const A: *const i32 = &4;
+
+// It could be made sound to allow it to compile,
+// but we do not want to allow this to compile,
+// as that would be an enormous footgun in oli-obk's opinion.
+const B: *mut i32 = &mut 4; //~ ERROR mutable references are not allowed
+
+// Ok, no actual mutable allocation exists
+const B2: Option<&mut i32> = None;
+
+// Not ok, can't prove that no mutable allocation ends up in final value
+const B3: Option<&mut i32> = Some(&mut 42); //~ ERROR temporary value dropped while borrowed
+
+const fn helper(x: &mut i32) -> Option<&mut i32> { Some(x) }
+const B4: Option<&mut i32> = helper(&mut 42); //~ ERROR temporary value dropped while borrowed
+
+// Ok, because no references to mutable data exist here, since the `{}` moves
+// its value and then takes a reference to that.
+const C: *const i32 = &{
+    let mut x = 42;
+    x += 3;
+    x
+};
+
+use std::cell::UnsafeCell;
+struct NotAMutex<T>(UnsafeCell<T>);
+
+unsafe impl<T> Sync for NotAMutex<T> {}
+
+const FOO: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
+//~^ ERROR temporary value dropped while borrowed
+
+static FOO2: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
+//~^ ERROR temporary value dropped while borrowed
+
+static mut FOO3: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
+//~^ ERROR temporary value dropped while borrowed
+
+// `BAR` works, because `&42` promotes immediately instead of relying on
+// the enclosing scope rule.
+const BAR: NotAMutex<&i32> = NotAMutex(UnsafeCell::new(&42));
+
+fn main() {
+    println!("{}", unsafe { *A });
+    unsafe { *B = 4 } // Bad news
+
+    unsafe {
+        **FOO.0.get() = 99;
+        assert_eq!(**FOO.0.get(), 99);
+    }
+}
diff --git a/src/test/ui/consts/const-mut-refs/mut_ref_in_final.stderr b/src/test/ui/consts/const-mut-refs/mut_ref_in_final.stderr
new file mode 100644
index 00000000000..cbae74cce6f
--- /dev/null
+++ b/src/test/ui/consts/const-mut-refs/mut_ref_in_final.stderr
@@ -0,0 +1,60 @@
+error[E0764]: mutable references are not allowed in the final value of constants
+  --> $DIR/mut_ref_in_final.rs:12:21
+   |
+LL | const B: *mut i32 = &mut 4;
+   |                     ^^^^^^
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/mut_ref_in_final.rs:18:40
+   |
+LL | const B3: Option<&mut i32> = Some(&mut 42);
+   |                              ----------^^-
+   |                              |         | |
+   |                              |         | temporary value is freed at the end of this statement
+   |                              |         creates a temporary which is freed while still in use
+   |                              using this value as a constant requires that borrow lasts for `'static`
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/mut_ref_in_final.rs:21:42
+   |
+LL | const B4: Option<&mut i32> = helper(&mut 42);
+   |                              ------------^^-
+   |                              |           | |
+   |                              |           | temporary value is freed at the end of this statement
+   |                              |           creates a temporary which is freed while still in use
+   |                              using this value as a constant requires that borrow lasts for `'static`
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/mut_ref_in_final.rs:36:65
+   |
+LL | const FOO: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
+   |                                  -------------------------------^^--
+   |                                  |                              |  |
+   |                                  |                              |  temporary value is freed at the end of this statement
+   |                                  |                              creates a temporary which is freed while still in use
+   |                                  using this value as a constant requires that borrow lasts for `'static`
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/mut_ref_in_final.rs:39:67
+   |
+LL | static FOO2: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
+   |                                    -------------------------------^^--
+   |                                    |                              |  |
+   |                                    |                              |  temporary value is freed at the end of this statement
+   |                                    |                              creates a temporary which is freed while still in use
+   |                                    using this value as a static requires that borrow lasts for `'static`
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/mut_ref_in_final.rs:42:71
+   |
+LL | static mut FOO3: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
+   |                                        -------------------------------^^--
+   |                                        |                              |  |
+   |                                        |                              |  temporary value is freed at the end of this statement
+   |                                        |                              creates a temporary which is freed while still in use
+   |                                        using this value as a static requires that borrow lasts for `'static`
+
+error: aborting due to 6 previous errors
+
+Some errors have detailed explanations: E0716, E0764.
+For more information about an error, try `rustc --explain E0716`.
diff --git a/src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs b/src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs
new file mode 100644
index 00000000000..90977efd2b4
--- /dev/null
+++ b/src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs
@@ -0,0 +1,29 @@
+#![feature(const_mut_refs)]
+#![feature(const_fn)]
+#![feature(raw_ref_op)]
+#![feature(const_raw_ptr_deref)]
+
+// This file checks that our dynamic checks catch things that the static checks miss.
+// We do not have static checks for these, because we do not look into function bodies.
+// We treat all functions as not returning a mutable reference, because there is no way to
+// do that without causing the borrow checker to complain (see the B4/helper test in
+// mut_ref_in_final.rs).
+
+const fn helper() -> Option<&'static mut i32> { unsafe {
+    // Undefined behaviour (integer as pointer), who doesn't love tests like this.
+    // This code never gets executed, because the static checks fail before that.
+    Some(&mut *(42 as *mut i32)) //~ ERROR any use of this value will cause an error
+    //~| WARN this was previously accepted by the compiler but is being phased out
+} }
+// The error is an evaluation error and not a validation error, so the error is reported
+// directly at the site where it occurs.
+const A: Option<&mut i32> = helper();
+
+const fn helper2() -> Option<&'static mut i32> { unsafe {
+    // Undefined behaviour (dangling pointer), who doesn't love tests like this.
+    // This code never gets executed, because the static checks fail before that.
+    Some(&mut *(&mut 42 as *mut i32))
+} }
+const B: Option<&mut i32> = helper2(); //~ ERROR encountered dangling pointer in final constant
+
+fn main() {}
diff --git a/src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr b/src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr
new file mode 100644
index 00000000000..45ae055614b
--- /dev/null
+++ b/src/test/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr
@@ -0,0 +1,25 @@
+error: any use of this value will cause an error
+  --> $DIR/mut_ref_in_final_dynamic_check.rs:15:10
+   |
+LL |     Some(&mut *(42 as *mut i32))
+   |          ^^^^^^^^^^^^^^^^^^^^^^
+   |          |
+   |          unable to turn bytes into a pointer
+   |          inside `helper` at $DIR/mut_ref_in_final_dynamic_check.rs:15:10
+   |          inside `A` at $DIR/mut_ref_in_final_dynamic_check.rs:20:29
+...
+LL | const A: Option<&mut i32> = helper();
+   | -------------------------------------
+   |
+   = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
+
+error: encountered dangling pointer in final constant
+  --> $DIR/mut_ref_in_final_dynamic_check.rs:27:1
+   |
+LL | const B: Option<&mut i32> = helper2();
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+
diff --git a/src/test/ui/consts/const-prop-read-static-in-const.rs b/src/test/ui/consts/const-prop-read-static-in-const.rs
index 13b1b2d1412..a65b707f012 100644
--- a/src/test/ui/consts/const-prop-read-static-in-const.rs
+++ b/src/test/ui/consts/const-prop-read-static-in-const.rs
@@ -3,6 +3,7 @@
 #![allow(dead_code)]
 
 const TEST: u8 = MY_STATIC; //~ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 static MY_STATIC: u8 = 4;
 
diff --git a/src/test/ui/consts/const-prop-read-static-in-const.stderr b/src/test/ui/consts/const-prop-read-static-in-const.stderr
index 7a517d1d7b3..94d3f1c6145 100644
--- a/src/test/ui/consts/const-prop-read-static-in-const.stderr
+++ b/src/test/ui/consts/const-prop-read-static-in-const.stderr
@@ -7,6 +7,8 @@ LL | const TEST: u8 = MY_STATIC;
    |                  constant accesses static
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 warning: skipping const checks
    |
diff --git a/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.rs b/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.rs
index 09c7d5580de..6653717778b 100644
--- a/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.rs
+++ b/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.rs
@@ -9,6 +9,8 @@ extern "C" {
 }
 
 const _SIZE: usize = unsafe { size_of_val(&4 as *const i32 as *const Opaque) }; //~ ERROR
+//~| WARN this was previously accepted by the compiler but is being phased out
 const _ALIGN: usize = unsafe { min_align_of_val(&4 as *const i32 as *const Opaque) }; //~ ERROR
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {}
diff --git a/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.stderr b/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.stderr
index d3f1b04d251..a9211c17a6b 100644
--- a/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.stderr
+++ b/src/test/ui/consts/const-size_of_val-align_of_val-extern-type.stderr
@@ -7,14 +7,19 @@ LL | const _SIZE: usize = unsafe { size_of_val(&4 as *const i32 as *const Opaque
    |                               `extern type` does not have known layout
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/const-size_of_val-align_of_val-extern-type.rs:12:32
+  --> $DIR/const-size_of_val-align_of_val-extern-type.rs:13:32
    |
 LL | const _ALIGN: usize = unsafe { min_align_of_val(&4 as *const i32 as *const Opaque) };
    | -------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                                |
    |                                `extern type` does not have known layout
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/consts/const-slice-oob.rs b/src/test/ui/consts/const-slice-oob.rs
index 70852f8f569..35e5a4d2233 100644
--- a/src/test/ui/consts/const-slice-oob.rs
+++ b/src/test/ui/consts/const-slice-oob.rs
@@ -4,6 +4,7 @@ const FOO: &'static[u32] = &[1, 2, 3];
 const BAR: u32 = FOO[5];
 //~^ index out of bounds: the length is 3 but the index is 5
 //~| ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
     let _ = BAR;
diff --git a/src/test/ui/consts/const-slice-oob.stderr b/src/test/ui/consts/const-slice-oob.stderr
index 0077bafe9e6..6d2c79034d3 100644
--- a/src/test/ui/consts/const-slice-oob.stderr
+++ b/src/test/ui/consts/const-slice-oob.stderr
@@ -7,6 +7,8 @@ LL | const BAR: u32 = FOO[5];
    |                  index out of bounds: the length is 3 but the index is 5
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const-unwrap.stderr b/src/test/ui/consts/const-unwrap.stderr
index 6500baab077..86c2f1c4f8e 100644
--- a/src/test/ui/consts/const-unwrap.stderr
+++ b/src/test/ui/consts/const-unwrap.stderr
@@ -5,7 +5,7 @@ LL |             None => panic!("called `Option::unwrap()` on a `None` value"),
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |                     |
    |                     the evaluated program panicked at 'called `Option::unwrap()` on a `None` value', $DIR/const-unwrap.rs:9:38
-   |                     inside `Option::<i32>::unwrap` at $SRC_DIR/core/src/macros/mod.rs:LL:COL
+   |                     inside `Option::<i32>::unwrap` at $SRC_DIR/core/src/panic.rs:LL:COL
    |                     inside `BAR` at $DIR/const-unwrap.rs:9:18
    | 
   ::: $DIR/const-unwrap.rs:9:1
@@ -14,6 +14,8 @@ LL | const BAR: i32 = Option::<i32>::None.unwrap();
    | ----------------------------------------------
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to previous error
diff --git a/src/test/ui/consts/const_let_assign3.stderr b/src/test/ui/consts/const_let_assign3.stderr
index dc86e178a42..3eac61c0ce6 100644
--- a/src/test/ui/consts/const_let_assign3.stderr
+++ b/src/test/ui/consts/const_let_assign3.stderr
@@ -7,19 +7,24 @@ LL |     const fn foo(&mut self, x: u32) {
    = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
    = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
-error[E0764]: mutable references are not allowed in constants
+error[E0658]: mutable references are not allowed in constants
   --> $DIR/const_let_assign3.rs:16:5
    |
 LL |     s.foo(3);
-   |     ^ `&mut` is only allowed in `const fn`
+   |     ^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
-error[E0764]: mutable references are not allowed in constants
+error[E0658]: mutable references are not allowed in constants
   --> $DIR/const_let_assign3.rs:22:13
    |
 LL |     let y = &mut x;
-   |             ^^^^^^ `&mut` is only allowed in `const fn`
+   |             ^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
 error: aborting due to 3 previous errors
 
-Some errors have detailed explanations: E0658, E0764.
-For more information about an error, try `rustc --explain E0658`.
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/const_limit/const_eval_limit_reached.rs b/src/test/ui/consts/const_limit/const_eval_limit_reached.rs
index 069dac00c9a..773640b72e6 100644
--- a/src/test/ui/consts/const_limit/const_eval_limit_reached.rs
+++ b/src/test/ui/consts/const_limit/const_eval_limit_reached.rs
@@ -5,6 +5,7 @@ const X: usize = {
     let mut x = 0;
     while x != 1000 {
         //~^ ERROR any use of this value will cause an error
+        //~| WARN this was previously accepted by the compiler but is being phased out
         x += 1;
     }
 
diff --git a/src/test/ui/consts/const_limit/const_eval_limit_reached.stderr b/src/test/ui/consts/const_limit/const_eval_limit_reached.stderr
index 8785c9e54b9..10e54e0348c 100644
--- a/src/test/ui/consts/const_limit/const_eval_limit_reached.stderr
+++ b/src/test/ui/consts/const_limit/const_eval_limit_reached.stderr
@@ -6,6 +6,7 @@ LL |  |     let mut x = 0;
 LL |  |     while x != 1000 {
    |  |_____^
 LL | ||
+LL | ||
 LL | ||         x += 1;
 LL | ||     }
    | ||_____^ exceeded interpreter step limit (see `#[const_eval_limit]`)
@@ -15,6 +16,8 @@ LL |  | };
    |  |__-
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/consts/const_unsafe_unreachable_ub.rs b/src/test/ui/consts/const_unsafe_unreachable_ub.rs
index 11920d852e0..0bd37876cc3 100644
--- a/src/test/ui/consts/const_unsafe_unreachable_ub.rs
+++ b/src/test/ui/consts/const_unsafe_unreachable_ub.rs
@@ -17,4 +17,5 @@ fn main() {
   assert_eq!(BAR, true);
   //~^ ERROR E0080
   //~| ERROR erroneous constant
+  //~| WARN this was previously accepted by the compiler but is being phased out
 }
diff --git a/src/test/ui/consts/const_unsafe_unreachable_ub.stderr b/src/test/ui/consts/const_unsafe_unreachable_ub.stderr
index 31090be0908..3f122b2a859 100644
--- a/src/test/ui/consts/const_unsafe_unreachable_ub.stderr
+++ b/src/test/ui/consts/const_unsafe_unreachable_ub.stderr
@@ -19,16 +19,14 @@ note: the lint level is defined here
    |
 LL | #[warn(const_err)]
    |        ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
-error[E0080]: evaluation of constant expression failed
-  --> $DIR/const_unsafe_unreachable_ub.rs:17:3
+error[E0080]: evaluation of constant value failed
+  --> $DIR/const_unsafe_unreachable_ub.rs:17:14
    |
 LL |   assert_eq!(BAR, true);
-   |   ^^^^^^^^^^^---^^^^^^^^
-   |              |
-   |              referenced constant has errors
-   |
-   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+   |              ^^^ referenced constant has errors
 
 error: erroneous constant used
   --> $DIR/const_unsafe_unreachable_ub.rs:17:3
@@ -37,6 +35,8 @@ LL |   assert_eq!(BAR, true);
    |   ^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to 2 previous errors; 1 warning emitted
diff --git a/src/test/ui/consts/control-flow/assert.const_panic.stderr b/src/test/ui/consts/control-flow/assert.const_panic.stderr
index 03662a35209..2f28c2e7bb6 100644
--- a/src/test/ui/consts/control-flow/assert.const_panic.stderr
+++ b/src/test/ui/consts/control-flow/assert.const_panic.stderr
@@ -7,6 +7,8 @@ LL | const _: () = assert!(false);
    |               the evaluated program panicked at 'assertion failed: false', $DIR/assert.rs:10:15
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to previous error
diff --git a/src/test/ui/consts/control-flow/assert.rs b/src/test/ui/consts/control-flow/assert.rs
index 90017fee193..a21f28604bd 100644
--- a/src/test/ui/consts/control-flow/assert.rs
+++ b/src/test/ui/consts/control-flow/assert.rs
@@ -10,5 +10,6 @@ const _: () = assert!(true);
 const _: () = assert!(false);
 //[stock]~^ ERROR panicking in constants is unstable
 //[const_panic]~^^ ERROR any use of this value will cause an error
+//[const_panic]~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {}
diff --git a/src/test/ui/consts/intrinsic_without_const_stab.rs b/src/test/ui/consts/intrinsic_without_const_stab.rs
new file mode 100644
index 00000000000..810158a2957
--- /dev/null
+++ b/src/test/ui/consts/intrinsic_without_const_stab.rs
@@ -0,0 +1,17 @@
+#![feature(intrinsics, staged_api, const_intrinsic_copy)]
+#![stable(feature = "core", since = "1.6.0")]
+
+#[stable(feature = "rust1", since = "1.0.0")]
+#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
+#[inline]
+pub const unsafe fn copy<T>(src: *const T, dst: *mut T, count: usize) {
+    // Const stability attributes are not inherited from parent items.
+    extern "rust-intrinsic" {
+        fn copy<T>(src: *const T, dst: *mut T, count: usize);
+    }
+
+    unsafe { copy(src, dst, count) }
+    //~^ ERROR calls in constant functions are limited to constant functions
+}
+
+fn main() {}
diff --git a/src/test/ui/consts/intrinsic_without_const_stab.stderr b/src/test/ui/consts/intrinsic_without_const_stab.stderr
new file mode 100644
index 00000000000..5a42823a605
--- /dev/null
+++ b/src/test/ui/consts/intrinsic_without_const_stab.stderr
@@ -0,0 +1,9 @@
+error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants
+  --> $DIR/intrinsic_without_const_stab.rs:13:14
+   |
+LL |     unsafe { copy(src, dst, count) }
+   |              ^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0015`.
diff --git a/src/test/ui/consts/intrinsic_without_const_stab_fail.rs b/src/test/ui/consts/intrinsic_without_const_stab_fail.rs
new file mode 100644
index 00000000000..bf2c44169d4
--- /dev/null
+++ b/src/test/ui/consts/intrinsic_without_const_stab_fail.rs
@@ -0,0 +1,15 @@
+#![feature(intrinsics, staged_api, const_intrinsic_copy)]
+#![stable(feature = "core", since = "1.6.0")]
+
+extern "rust-intrinsic" {
+    fn copy<T>(src: *const T, dst: *mut T, count: usize);
+}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
+#[inline]
+pub const unsafe fn stuff<T>(src: *const T, dst: *mut T, count: usize) {
+    unsafe { copy(src, dst, count) } //~ ERROR calls in constant functions are limited
+}
+
+fn main() {}
diff --git a/src/test/ui/consts/intrinsic_without_const_stab_fail.stderr b/src/test/ui/consts/intrinsic_without_const_stab_fail.stderr
new file mode 100644
index 00000000000..d4a2989e785
--- /dev/null
+++ b/src/test/ui/consts/intrinsic_without_const_stab_fail.stderr
@@ -0,0 +1,9 @@
+error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants
+  --> $DIR/intrinsic_without_const_stab_fail.rs:12:14
+   |
+LL |     unsafe { copy(src, dst, count) }
+   |              ^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0015`.
diff --git a/src/test/ui/issues/issue-17458.rs b/src/test/ui/consts/issue-17458.rs
index d56ffebad7d..d56ffebad7d 100644
--- a/src/test/ui/issues/issue-17458.rs
+++ b/src/test/ui/consts/issue-17458.rs
diff --git a/src/test/ui/issues/issue-17458.stderr b/src/test/ui/consts/issue-17458.stderr
index 68e86ea21bd..68e86ea21bd 100644
--- a/src/test/ui/issues/issue-17458.stderr
+++ b/src/test/ui/consts/issue-17458.stderr
diff --git a/src/test/ui/consts/issue-17718-const-bad-values.rs b/src/test/ui/consts/issue-17718-const-bad-values.rs
index 49023f18ddb..62bbb3b569c 100644
--- a/src/test/ui/consts/issue-17718-const-bad-values.rs
+++ b/src/test/ui/consts/issue-17718-const-bad-values.rs
@@ -1,10 +1,9 @@
 const C1: &'static mut [usize] = &mut [];
-//~^ ERROR: mutable references are not allowed in constants
+//~^ ERROR: mutable references are not allowed
 
 static mut S: usize = 3;
 const C2: &'static mut usize = unsafe { &mut S };
 //~^ ERROR: constants cannot refer to statics
 //~| ERROR: constants cannot refer to statics
-//~| ERROR: mutable references are not allowed in constants
 
 fn main() {}
diff --git a/src/test/ui/consts/issue-17718-const-bad-values.stderr b/src/test/ui/consts/issue-17718-const-bad-values.stderr
index 7c50978d4eb..ce60aaa0797 100644
--- a/src/test/ui/consts/issue-17718-const-bad-values.stderr
+++ b/src/test/ui/consts/issue-17718-const-bad-values.stderr
@@ -1,8 +1,8 @@
-error[E0764]: mutable references are not allowed in constants
+error[E0764]: mutable references are not allowed in the final value of constants
   --> $DIR/issue-17718-const-bad-values.rs:1:34
    |
 LL | const C1: &'static mut [usize] = &mut [];
-   |                                  ^^^^^^^ `&mut` is only allowed in `const fn`
+   |                                  ^^^^^^^
 
 error[E0013]: constants cannot refer to statics
   --> $DIR/issue-17718-const-bad-values.rs:5:46
@@ -20,13 +20,7 @@ LL | const C2: &'static mut usize = unsafe { &mut S };
    |
    = help: consider extracting the value of the `static` to a `const`, and referring to that
 
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/issue-17718-const-bad-values.rs:5:41
-   |
-LL | const C2: &'static mut usize = unsafe { &mut S };
-   |                                         ^^^^^^ `&mut` is only allowed in `const fn`
-
-error: aborting due to 4 previous errors
+error: aborting due to 3 previous errors
 
 Some errors have detailed explanations: E0013, E0764.
 For more information about an error, try `rustc --explain E0013`.
diff --git a/src/test/ui/issues/issue-25826.rs b/src/test/ui/consts/issue-25826.rs
index d1093c20579..d1093c20579 100644
--- a/src/test/ui/issues/issue-25826.rs
+++ b/src/test/ui/consts/issue-25826.rs
diff --git a/src/test/ui/issues/issue-25826.stderr b/src/test/ui/consts/issue-25826.stderr
index 67d1b3ab9be..67d1b3ab9be 100644
--- a/src/test/ui/issues/issue-25826.stderr
+++ b/src/test/ui/consts/issue-25826.stderr
diff --git a/src/test/ui/issues/issue-46553.rs b/src/test/ui/consts/issue-46553.rs
index 0a1e835672d..0a1e835672d 100644
--- a/src/test/ui/issues/issue-46553.rs
+++ b/src/test/ui/consts/issue-46553.rs
diff --git a/src/test/ui/consts/issue-51559.rs b/src/test/ui/consts/issue-51559.rs
index 69f0d8df0aa..cc644404f7d 100644
--- a/src/test/ui/consts/issue-51559.rs
+++ b/src/test/ui/consts/issue-51559.rs
@@ -3,5 +3,6 @@
 const BAR: *mut () = ((|| 3) as fn() -> i32) as *mut ();
 pub const FOO: usize = unsafe { BAR as usize };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {}
diff --git a/src/test/ui/consts/issue-51559.stderr b/src/test/ui/consts/issue-51559.stderr
index 4d50ec818bc..fbb40c890dd 100644
--- a/src/test/ui/consts/issue-51559.stderr
+++ b/src/test/ui/consts/issue-51559.stderr
@@ -7,6 +7,8 @@ LL | pub const FOO: usize = unsafe { BAR as usize };
    |                                 "pointer-to-integer cast" needs an rfc before being allowed inside constants
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-54348.rs b/src/test/ui/consts/issue-54348.rs
index 5c38d7c42f6..5c38d7c42f6 100644
--- a/src/test/ui/issues/issue-54348.rs
+++ b/src/test/ui/consts/issue-54348.rs
diff --git a/src/test/ui/issues/issue-54348.stderr b/src/test/ui/consts/issue-54348.stderr
index eb85f349843..eb85f349843 100644
--- a/src/test/ui/issues/issue-54348.stderr
+++ b/src/test/ui/consts/issue-54348.stderr
diff --git a/src/test/ui/consts/issue-79690.rs b/src/test/ui/consts/issue-79690.rs
new file mode 100644
index 00000000000..a2e7b97b318
--- /dev/null
+++ b/src/test/ui/consts/issue-79690.rs
@@ -0,0 +1,32 @@
+// ignore-32bit
+// This test gives a different error on 32-bit architectures.
+
+union Transmute<T: Copy, U: Copy> {
+    t: T,
+    u: U,
+}
+trait Bar {
+    fn bar(&self) -> u32;
+}
+struct Foo {
+    foo: u32,
+    bar: bool,
+}
+impl Bar for Foo {
+    fn bar(&self) -> u32 {
+        self.foo
+    }
+}
+#[derive(Copy, Clone)]
+struct Fat<'a>(&'a Foo, &'static VTable);
+struct VTable {
+    size: Foo,
+}
+const FOO: &dyn Bar = &Foo {
+    foo: 128,
+    bar: false,
+};
+const G: Fat = unsafe { Transmute { t: FOO }.u };
+//~^ ERROR it is undefined behavior to use this value
+
+fn main() {}
diff --git a/src/test/ui/consts/issue-79690.stderr b/src/test/ui/consts/issue-79690.stderr
new file mode 100644
index 00000000000..918dd4c20f9
--- /dev/null
+++ b/src/test/ui/consts/issue-79690.stderr
@@ -0,0 +1,11 @@
+error[E0080]: it is undefined behavior to use this value
+  --> $DIR/issue-79690.rs:29:1
+   |
+LL | const G: Fat = unsafe { Transmute { t: FOO }.u };
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered read of part of a pointer at .1.<deref>.size.foo
+   |
+   = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0080`.
diff --git a/src/test/ui/consts/min_const_fn/allow_raw_ptr_dereference_const_fn.rs b/src/test/ui/consts/min_const_fn/allow_raw_ptr_dereference_const_fn.rs
index 25dc457d144..f4279e6b825 100644
--- a/src/test/ui/consts/min_const_fn/allow_raw_ptr_dereference_const_fn.rs
+++ b/src/test/ui/consts/min_const_fn/allow_raw_ptr_dereference_const_fn.rs
@@ -1,11 +1,10 @@
 // check-pass
 #![feature(const_raw_ptr_deref)]
-#![feature(raw_ref_macros)]
 
 use std::ptr;
 
 const fn test_fn(x: *const i32) {
-    let x2 = unsafe { ptr::raw_const!(*x) };
+    let x2 = unsafe { ptr::addr_of!(*x) };
 }
 
 fn main() {}
diff --git a/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs b/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs
index 08d68b039be..7bbe9c87705 100644
--- a/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs
+++ b/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs
@@ -26,12 +26,17 @@ const U8_MUT2: &u8 = { //~ NOTE
     unsafe { &(*static_cross_crate::ZERO_REF)[0] }
     //~^ WARN [const_err]
     //~| NOTE constant accesses static
+    //~| WARN this was previously accepted by the compiler but is being phased out
+    //~| NOTE
 };
 #[warn(const_err)] //~ NOTE
 const U8_MUT3: &u8 = { //~ NOTE
     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
     //~^ WARN [const_err]
     //~| NOTE constant accesses static
+    //~| NOTE in this expansion of panic!
+    //~| WARN this was previously accepted by the compiler but is being phased out
+    //~| NOTE
 };
 
 pub fn test(x: &[u8; 1]) -> bool {
diff --git a/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr b/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr
index 14eeabb49a2..a9d6fde6c05 100644
--- a/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr
+++ b/src/test/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr
@@ -11,7 +11,7 @@ LL | | };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:39:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:44:9
    |
 LL |         SLICE_MUT => true,
    |         ^^^^^^^^^
@@ -29,7 +29,7 @@ LL | | };
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:48:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:53:9
    |
 LL |         U8_MUT => true,
    |         ^^^^^^
@@ -42,6 +42,8 @@ LL | |     unsafe { &(*static_cross_crate::ZERO_REF)[0] }
    | |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constant accesses static
 LL | |
 LL | |
+LL | |
+LL | |
 LL | | };
    | |__-
    |
@@ -50,56 +52,62 @@ note: the lint level is defined here
    |
 LL | #[warn(const_err)]
    |        ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:59:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:64:9
    |
 LL |         U8_MUT2 => true,
    |         ^^^^^^^
 
 warning: any use of this value will cause an error
-  --> $DIR/const_refers_to_static_cross_crate.rs:32:51
+  --> $DIR/const_refers_to_static_cross_crate.rs:34:51
    |
 LL | / const U8_MUT3: &u8 = {
 LL | |     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
    | |                                                   ^^^^^^^^^^^ constant accesses static
 LL | |
 LL | |
+...  |
+LL | |
 LL | | };
    | |__-
    |
 note: the lint level is defined here
-  --> $DIR/const_refers_to_static_cross_crate.rs:30:8
+  --> $DIR/const_refers_to_static_cross_crate.rs:32:8
    |
 LL | #[warn(const_err)]
    |        ^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:67:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:72:9
    |
 LL |         U8_MUT3 => true,
    |         ^^^^^^^
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:39:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:44:9
    |
 LL |         SLICE_MUT => true,
    |         ^^^^^^^^^
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:48:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:53:9
    |
 LL |         U8_MUT => true,
    |         ^^^^^^
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:59:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:64:9
    |
 LL |         U8_MUT2 => true,
    |         ^^^^^^^
 
 error: could not evaluate constant pattern
-  --> $DIR/const_refers_to_static_cross_crate.rs:67:9
+  --> $DIR/const_refers_to_static_cross_crate.rs:72:9
    |
 LL |         U8_MUT3 => true,
    |         ^^^^^^^
@@ -137,27 +145,27 @@ help: skipping check that does not even have a feature gate
 LL |     unsafe { &(*static_cross_crate::ZERO_REF)[0] }
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/const_refers_to_static_cross_crate.rs:32:20
+  --> $DIR/const_refers_to_static_cross_crate.rs:34:20
    |
 LL |     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/const_refers_to_static_cross_crate.rs:32:20
+  --> $DIR/const_refers_to_static_cross_crate.rs:34:20
    |
 LL |     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/const_refers_to_static_cross_crate.rs:32:20
+  --> $DIR/const_refers_to_static_cross_crate.rs:34:20
    |
 LL |     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: skipping check for `const_panic` feature
-  --> $DIR/const_refers_to_static_cross_crate.rs:32:77
+  --> $DIR/const_refers_to_static_cross_crate.rs:34:77
    |
 LL |     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
    |                                                                             ^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/const_refers_to_static_cross_crate.rs:32:20
+  --> $DIR/const_refers_to_static_cross_crate.rs:34:20
    |
 LL |     unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/consts/offset_from_ub.stderr b/src/test/ui/consts/offset_from_ub.stderr
index ebe17e87304..eb726f9cb11 100644
--- a/src/test/ui/consts/offset_from_ub.stderr
+++ b/src/test/ui/consts/offset_from_ub.stderr
@@ -20,6 +20,8 @@ LL | | };
    | |__-
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -38,6 +40,9 @@ LL | |
 LL | |     unsafe { (42 as *const u8).offset_from(&5u8) as usize }
 LL | | };
    | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -59,6 +64,9 @@ LL | |     let field_ptr = &data[1] as *const u8 as *const u16;
 LL | |     unsafe { field_ptr.offset_from(base_ptr as *const u16) }
 LL | | };
    | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -78,6 +86,9 @@ LL | |     let ptr = 0 as *const u8;
 LL | |     unsafe { ptr.offset_from(ptr) }
 LL | | };
    | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -98,6 +109,9 @@ LL | |     let ptr2 = 16 as *const u8;
 LL | |     unsafe { ptr2.offset_from(ptr1) }
 LL | | };
    | |__-
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 5 previous errors
 
diff --git a/src/test/ui/consts/offset_ub.stderr b/src/test/ui/consts/offset_ub.stderr
index e58db1efaf0..5e8b7a8e0b6 100644
--- a/src/test/ui/consts/offset_ub.stderr
+++ b/src/test/ui/consts/offset_ub.stderr
@@ -14,6 +14,8 @@ LL | pub const BEFORE_START: *const u8 = unsafe { (&0u8 as *const u8).offset(-1)
    | ------------------------------------------------------------------------------
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -29,6 +31,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const AFTER_END: *const u8 = unsafe { (&0u8 as *const u8).offset(2) };
    | --------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -44,6 +49,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const AFTER_ARRAY: *const u8 = unsafe { [0u8; 100].as_ptr().offset(101) };
    | ------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -59,6 +67,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const OVERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::MAX) };
    | ----------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -74,6 +85,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const UNDERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::MIN) };
    | -----------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -89,6 +103,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const OVERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (usize::MAX as *const u8).offset(2) };
    | ---------------------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -104,6 +121,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const UNDERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (1 as *const u8).offset(-2) };
    | --------------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -119,6 +139,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const ZERO_SIZED_ALLOC: *const u8 = unsafe { [0u8; 0].as_ptr().offset(1) };
    | -------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL
@@ -134,6 +157,9 @@ LL |         unsafe { intrinsics::offset(self, count) as *mut T }
    |
 LL | pub const DANGLING: *const u8 = unsafe { ptr::NonNull::<u8>::dangling().as_ptr().offset(4) };
    | ---------------------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -149,6 +175,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const NULL_OFFSET_ZERO: *const u8 = unsafe { ptr::null::<u8>().offset(0) };
    | -------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
@@ -164,6 +193,9 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |
 LL | pub const UNDERFLOW_ABS: *const u8 = unsafe { (usize::MAX as *const u8).offset(isize::MIN) };
    | ---------------------------------------------------------------------------------------------
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 11 previous errors
 
diff --git a/src/test/ui/consts/projection_qualif.mut_refs.stderr b/src/test/ui/consts/projection_qualif.mut_refs.stderr
deleted file mode 100644
index fad8f011f75..00000000000
--- a/src/test/ui/consts/projection_qualif.mut_refs.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/projection_qualif.rs:10:27
-   |
-LL |         let b: *mut u32 = &mut a;
-   |                           ^^^^^^ `&mut` is only allowed in `const fn`
-
-error[E0658]: dereferencing raw pointers in constants is unstable
-  --> $DIR/projection_qualif.rs:11:18
-   |
-LL |         unsafe { *b = 5; }
-   |                  ^^^^^^
-   |
-   = note: see issue #51911 <https://github.com/rust-lang/rust/issues/51911> for more information
-   = help: add `#![feature(const_raw_ptr_deref)]` to the crate attributes to enable
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0658, E0764.
-For more information about an error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/projection_qualif.stock.stderr b/src/test/ui/consts/projection_qualif.stock.stderr
deleted file mode 100644
index fad8f011f75..00000000000
--- a/src/test/ui/consts/projection_qualif.stock.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/projection_qualif.rs:10:27
-   |
-LL |         let b: *mut u32 = &mut a;
-   |                           ^^^^^^ `&mut` is only allowed in `const fn`
-
-error[E0658]: dereferencing raw pointers in constants is unstable
-  --> $DIR/projection_qualif.rs:11:18
-   |
-LL |         unsafe { *b = 5; }
-   |                  ^^^^^^
-   |
-   = note: see issue #51911 <https://github.com/rust-lang/rust/issues/51911> for more information
-   = help: add `#![feature(const_raw_ptr_deref)]` to the crate attributes to enable
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0658, E0764.
-For more information about an error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/promote-not.rs b/src/test/ui/consts/promote-not.rs
index 1e4d8586b87..0d0c78b0fc2 100644
--- a/src/test/ui/consts/promote-not.rs
+++ b/src/test/ui/consts/promote-not.rs
@@ -44,4 +44,11 @@ fn main() {
     // We must not promote things with interior mutability. Not even if we "project it away".
     let _val: &'static _ = &(Cell::new(1), 2).0; //~ ERROR temporary value dropped while borrowed
     let _val: &'static _ = &(Cell::new(1), 2).1; //~ ERROR temporary value dropped while borrowed
+
+    // No promotion of fallible operations.
+    let _val: &'static _ = &(1/0); //~ ERROR temporary value dropped while borrowed
+    let _val: &'static _ = &(1/(1-1)); //~ ERROR temporary value dropped while borrowed
+    let _val: &'static _ = &(1%0); //~ ERROR temporary value dropped while borrowed
+    let _val: &'static _ = &(1%(1-1)); //~ ERROR temporary value dropped while borrowed
+    let _val: &'static _ = &([1,2,3][4]+1); //~ ERROR temporary value dropped while borrowed
 }
diff --git a/src/test/ui/consts/promote-not.stderr b/src/test/ui/consts/promote-not.stderr
index 6e76d9ee6c1..108d0da7a67 100644
--- a/src/test/ui/consts/promote-not.stderr
+++ b/src/test/ui/consts/promote-not.stderr
@@ -65,7 +65,7 @@ LL |     let _val: &'static _ = &(Cell::new(1), 2).0;
    |               ----------    ^^^^^^^^^^^^^^^^^ creates a temporary which is freed while still in use
    |               |
    |               type annotation requires that borrow lasts for `'static`
-LL |     let _val: &'static _ = &(Cell::new(1), 2).1;
+...
 LL | }
    | - temporary value is freed at the end of this statement
 
@@ -76,9 +76,64 @@ LL |     let _val: &'static _ = &(Cell::new(1), 2).1;
    |               ----------    ^^^^^^^^^^^^^^^^^ creates a temporary which is freed while still in use
    |               |
    |               type annotation requires that borrow lasts for `'static`
+...
+LL | }
+   | - temporary value is freed at the end of this statement
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/promote-not.rs:49:29
+   |
+LL |     let _val: &'static _ = &(1/0);
+   |               ----------    ^^^^^ creates a temporary which is freed while still in use
+   |               |
+   |               type annotation requires that borrow lasts for `'static`
+...
+LL | }
+   | - temporary value is freed at the end of this statement
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/promote-not.rs:50:29
+   |
+LL |     let _val: &'static _ = &(1/(1-1));
+   |               ----------    ^^^^^^^^^ creates a temporary which is freed while still in use
+   |               |
+   |               type annotation requires that borrow lasts for `'static`
+...
+LL | }
+   | - temporary value is freed at the end of this statement
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/promote-not.rs:51:29
+   |
+LL |     let _val: &'static _ = &(1%0);
+   |               ----------    ^^^^^ creates a temporary which is freed while still in use
+   |               |
+   |               type annotation requires that borrow lasts for `'static`
+...
+LL | }
+   | - temporary value is freed at the end of this statement
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/promote-not.rs:52:29
+   |
+LL |     let _val: &'static _ = &(1%(1-1));
+   |               ----------    ^^^^^^^^^ creates a temporary which is freed while still in use
+   |               |
+   |               type annotation requires that borrow lasts for `'static`
+LL |     let _val: &'static _ = &([1,2,3][4]+1);
+LL | }
+   | - temporary value is freed at the end of this statement
+
+error[E0716]: temporary value dropped while borrowed
+  --> $DIR/promote-not.rs:53:29
+   |
+LL |     let _val: &'static _ = &([1,2,3][4]+1);
+   |               ----------    ^^^^^^^^^^^^^^ creates a temporary which is freed while still in use
+   |               |
+   |               type annotation requires that borrow lasts for `'static`
 LL | }
    | - temporary value is freed at the end of this statement
 
-error: aborting due to 8 previous errors
+error: aborting due to 13 previous errors
 
 For more information about this error, try `rustc --explain E0716`.
diff --git a/src/test/ui/consts/promoted_div_by_zero.rs b/src/test/ui/consts/promoted_div_by_zero.rs
deleted file mode 100644
index b4503f691ff..00000000000
--- a/src/test/ui/consts/promoted_div_by_zero.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![allow(unconditional_panic, const_err)]
-
-// run-fail
-// error-pattern: attempt to divide by zero
-// ignore-emscripten no processes
-
-fn main() {
-    let x = &(1 / (1 - 1));
-}
diff --git a/src/test/ui/consts/promotion.rs b/src/test/ui/consts/promotion.rs
index b6e7127a9b7..580c6d62f10 100644
--- a/src/test/ui/consts/promotion.rs
+++ b/src/test/ui/consts/promotion.rs
@@ -1,28 +1,43 @@
-// check-pass
+// revisions: noopt opt opt_with_overflow_checks
+//[noopt]compile-flags: -C opt-level=0
+//[opt]compile-flags: -O
+//[opt_with_overflow_checks]compile-flags: -C overflow-checks=on -O
 
-// compile-flags: -O
+// build-pass
+#[allow(arithmetic_overflow)]
 
-fn foo(_: &'static [&'static str]) {}
-fn bar(_: &'static [&'static str; 3]) {}
-const fn baz_i32(_: &'static i32) {}
-const fn baz_u32(_: &'static u32) {}
+const fn assert_static<T>(_: &'static T) {}
 
 const fn fail() -> i32 { 1/0 }
 const C: i32 = {
     // Promoted that fails to evaluate in dead code -- this must work
     // (for backwards compatibility reasons).
     if false {
-        baz_i32(&fail());
+        assert_static(&fail());
     }
     42
 };
 
 fn main() {
-    foo(&["a", "b", "c"]);
-    bar(&["d", "e", "f"]);
+    assert_static(&["a", "b", "c"]);
+    assert_static(&["d", "e", "f"]);
     assert_eq!(C, 42);
 
     // make sure that these do not cause trouble despite overflowing
-    baz_u32(&(0-1));
-    baz_i32(&-i32::MIN);
+    assert_static(&(0-1));
+    assert_static(&-i32::MIN);
+
+    // div-by-non-0 is okay
+    assert_static(&(1/1));
+    assert_static(&(1%1));
+
+    // in-bounds array access is okay
+    assert_static(&([1,2,3][0] + 1));
+    assert_static(&[[1,2][1]]);
+
+    // Top-level projections are not part of the promoted, so no error here.
+    if false {
+        #[allow(unconditional_panic)]
+        assert_static(&[1,2,3][4]);
+    }
 }
diff --git a/src/test/ui/consts/ptr_comparisons.rs b/src/test/ui/consts/ptr_comparisons.rs
index 595ed30bf9c..0570d817fcc 100644
--- a/src/test/ui/consts/ptr_comparisons.rs
+++ b/src/test/ui/consts/ptr_comparisons.rs
@@ -9,8 +9,7 @@
     core_intrinsics,
     const_raw_ptr_comparison,
     const_ptr_offset,
-    const_raw_ptr_deref,
-    raw_ref_macros
+    const_raw_ptr_deref
 )]
 
 const FOO: &usize = &42;
@@ -64,16 +63,22 @@ const _: *const usize = unsafe { (FOO as *const usize).offset(2) };
 
 const _: *const u8 =
 //~^ NOTE
-    unsafe { std::ptr::raw_const!((*(FOO as *const usize as *const [u8; 1000]))[999]) };
+    unsafe { std::ptr::addr_of!((*(FOO as *const usize as *const [u8; 1000]))[999]) };
 //~^ ERROR any use of this value will cause an error
 //~| NOTE
+//~| WARN this was previously accepted by the compiler but is being phased out
+//~| NOTE
 
 const _: usize = unsafe { std::mem::transmute::<*const usize, usize>(FOO) + 4 };
 //~^ ERROR any use of this value will cause an error
 //~| NOTE "pointer-to-integer cast" needs an rfc
 //~| NOTE
+//~| WARN this was previously accepted by the compiler but is being phased out
+//~| NOTE
 
 const _: usize = unsafe { *std::mem::transmute::<&&usize, &usize>(&FOO) + 4 };
 //~^ ERROR any use of this value will cause an error
 //~| NOTE "pointer-to-integer cast" needs an rfc
 //~| NOTE
+//~| WARN this was previously accepted by the compiler but is being phased out
+//~| NOTE
diff --git a/src/test/ui/consts/ptr_comparisons.stderr b/src/test/ui/consts/ptr_comparisons.stderr
index 49511b84500..c6c13e54137 100644
--- a/src/test/ui/consts/ptr_comparisons.stderr
+++ b/src/test/ui/consts/ptr_comparisons.stderr
@@ -6,40 +6,51 @@ LL |         unsafe { intrinsics::offset(self, count) }
    |                  |
    |                  inbounds test failed: pointer must be in-bounds at offset $TWO_WORDS, but is outside bounds of alloc2 which has size $WORD
    |                  inside `ptr::const_ptr::<impl *const usize>::offset` at $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
-   |                  inside `_` at $DIR/ptr_comparisons.rs:62:34
+   |                  inside `_` at $DIR/ptr_comparisons.rs:61:34
    | 
-  ::: $DIR/ptr_comparisons.rs:62:1
+  ::: $DIR/ptr_comparisons.rs:61:1
    |
 LL | const _: *const usize = unsafe { (FOO as *const usize).offset(2) };
    | -------------------------------------------------------------------
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/ptr_comparisons.rs:67:35
+  --> $DIR/ptr_comparisons.rs:66:33
    |
 LL | / const _: *const u8 =
 LL | |
-LL | |     unsafe { std::ptr::raw_const!((*(FOO as *const usize as *const [u8; 1000]))[999]) };
-   | |___________________________________^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___-
-   |                                     |
-   |                                     memory access failed: pointer must be in-bounds at offset 1000, but is outside bounds of alloc2 which has size $WORD
+LL | |     unsafe { std::ptr::addr_of!((*(FOO as *const usize as *const [u8; 1000]))[999]) };
+   | |_________________________________^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___-
+   |                                   |
+   |                                   memory access failed: pointer must be in-bounds at offset 1000, but is outside bounds of alloc2 which has size $WORD
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/ptr_comparisons.rs:71:27
+  --> $DIR/ptr_comparisons.rs:72:27
    |
 LL | const _: usize = unsafe { std::mem::transmute::<*const usize, usize>(FOO) + 4 };
    | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                           |
    |                           "pointer-to-integer cast" needs an rfc before being allowed inside constants
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: any use of this value will cause an error
-  --> $DIR/ptr_comparisons.rs:76:27
+  --> $DIR/ptr_comparisons.rs:79:27
    |
 LL | const _: usize = unsafe { *std::mem::transmute::<&&usize, &usize>(&FOO) + 4 };
    | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
    |                           |
    |                           "pointer-to-integer cast" needs an rfc before being allowed inside constants
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 4 previous errors
 
diff --git a/src/test/ui/consts/read_from_static_mut_ref.rs b/src/test/ui/consts/read_from_static_mut_ref.rs
deleted file mode 100644
index 5faa983ab09..00000000000
--- a/src/test/ui/consts/read_from_static_mut_ref.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// We are keeping this test in case we decide to allow mutable references in statics again
-#![feature(const_mut_refs)]
-#![allow(const_err)]
-
-static OH_NO: &mut i32 = &mut 42;
-//~^ ERROR mutable references are not allowed in statics
-fn main() {
-    assert_eq!(*OH_NO, 42);
-}
diff --git a/src/test/ui/consts/read_from_static_mut_ref.stderr b/src/test/ui/consts/read_from_static_mut_ref.stderr
deleted file mode 100644
index c936ac0b7d5..00000000000
--- a/src/test/ui/consts/read_from_static_mut_ref.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0764]: mutable references are not allowed in statics
-  --> $DIR/read_from_static_mut_ref.rs:5:26
-   |
-LL | static OH_NO: &mut i32 = &mut 42;
-   |                          ^^^^^^^ `&mut` is only allowed in `const fn`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0764`.
diff --git a/src/test/ui/consts/static_mut_containing_mut_ref2.mut_refs.stderr b/src/test/ui/consts/static_mut_containing_mut_ref2.mut_refs.stderr
index 36c280ca5c6..8db75dd63cf 100644
--- a/src/test/ui/consts/static_mut_containing_mut_ref2.mut_refs.stderr
+++ b/src/test/ui/consts/static_mut_containing_mut_ref2.mut_refs.stderr
@@ -1,9 +1,9 @@
-error[E0764]: mutable references are not allowed in statics
-  --> $DIR/static_mut_containing_mut_ref2.rs:7:46
+error[E0080]: could not evaluate static initializer
+  --> $DIR/static_mut_containing_mut_ref2.rs:7:45
    |
 LL | pub static mut STDERR_BUFFER: () = unsafe { *(&mut STDERR_BUFFER_SPACE) = 42; };
-   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ `&mut` is only allowed in `const fn`
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ modifying a static's initial value from another static's initializer
 
 error: aborting due to previous error
 
-For more information about this error, try `rustc --explain E0764`.
+For more information about this error, try `rustc --explain E0080`.
diff --git a/src/test/ui/consts/static_mut_containing_mut_ref2.rs b/src/test/ui/consts/static_mut_containing_mut_ref2.rs
index 2821d1a0154..61368546083 100644
--- a/src/test/ui/consts/static_mut_containing_mut_ref2.rs
+++ b/src/test/ui/consts/static_mut_containing_mut_ref2.rs
@@ -5,6 +5,7 @@
 static mut STDERR_BUFFER_SPACE: u8 = 0;
 
 pub static mut STDERR_BUFFER: () = unsafe { *(&mut STDERR_BUFFER_SPACE) = 42; };
-//~^ ERROR  mutable references are not allowed in statics
+//[mut_refs]~^ ERROR could not evaluate static initializer
+//[stock]~^^ ERROR mutable references are not allowed in statics
 
 fn main() {}
diff --git a/src/test/ui/consts/static_mut_containing_mut_ref2.stock.stderr b/src/test/ui/consts/static_mut_containing_mut_ref2.stock.stderr
index 36c280ca5c6..5cdcea23231 100644
--- a/src/test/ui/consts/static_mut_containing_mut_ref2.stock.stderr
+++ b/src/test/ui/consts/static_mut_containing_mut_ref2.stock.stderr
@@ -1,9 +1,12 @@
-error[E0764]: mutable references are not allowed in statics
+error[E0658]: mutable references are not allowed in statics
   --> $DIR/static_mut_containing_mut_ref2.rs:7:46
    |
 LL | pub static mut STDERR_BUFFER: () = unsafe { *(&mut STDERR_BUFFER_SPACE) = 42; };
-   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ `&mut` is only allowed in `const fn`
+   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
 error: aborting due to previous error
 
-For more information about this error, try `rustc --explain E0764`.
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/transmute-size-mismatch-before-typeck.rs b/src/test/ui/consts/transmute-size-mismatch-before-typeck.rs
index 2817abfcaa8..0f0068ac3bd 100644
--- a/src/test/ui/consts/transmute-size-mismatch-before-typeck.rs
+++ b/src/test/ui/consts/transmute-size-mismatch-before-typeck.rs
@@ -15,6 +15,7 @@ fn main() {
 const ZST: &[u8] = unsafe { std::mem::transmute(1usize) };
 //~^ ERROR any use of this value will cause an error
 //~| ERROR cannot transmute between types of different sizes
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 // Once the `any use of this value will cause an error` disappears in this test, make sure to
 // remove the `TransmuteSizeDiff` error variant and make its emitter site an assertion again.
diff --git a/src/test/ui/consts/transmute-size-mismatch-before-typeck.stderr b/src/test/ui/consts/transmute-size-mismatch-before-typeck.stderr
index b4970c82adb..6e93aed70b6 100644
--- a/src/test/ui/consts/transmute-size-mismatch-before-typeck.stderr
+++ b/src/test/ui/consts/transmute-size-mismatch-before-typeck.stderr
@@ -7,6 +7,8 @@ LL | const ZST: &[u8] = unsafe { std::mem::transmute(1usize) };
    |                             transmuting `usize` to `&[u8]` is not possible, because these types do not have the same size
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: could not evaluate constant pattern
   --> $DIR/transmute-size-mismatch-before-typeck.rs:10:9
diff --git a/src/test/ui/consts/uninhabited-const-issue-61744.rs b/src/test/ui/consts/uninhabited-const-issue-61744.rs
index 2f4b7578d1c..860628c39c3 100644
--- a/src/test/ui/consts/uninhabited-const-issue-61744.rs
+++ b/src/test/ui/consts/uninhabited-const-issue-61744.rs
@@ -2,6 +2,7 @@
 
 pub const unsafe fn fake_type<T>() -> T {
     hint_unreachable() //~ ERROR any use of this value will cause an error [const_err]
+    //~| WARN this was previously accepted by the compiler but is being phased out
 }
 
 pub const unsafe fn hint_unreachable() -> ! {
diff --git a/src/test/ui/consts/uninhabited-const-issue-61744.stderr b/src/test/ui/consts/uninhabited-const-issue-61744.stderr
index 1fb5ac11df0..e98eefc11c3 100644
--- a/src/test/ui/consts/uninhabited-const-issue-61744.stderr
+++ b/src/test/ui/consts/uninhabited-const-issue-61744.stderr
@@ -6,141 +6,143 @@ LL |     hint_unreachable()
    |     |
    |     reached the configured maximum number of stack frames
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<!>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:8:5
+   |     inside `hint_unreachable` at $DIR/uninhabited-const-issue-61744.rs:9:5
    |     inside `fake_type::<i32>` at $DIR/uninhabited-const-issue-61744.rs:4:5
-   |     inside `<i32 as Const>::CONSTANT` at $DIR/uninhabited-const-issue-61744.rs:12:36
+   |     inside `<i32 as Const>::CONSTANT` at $DIR/uninhabited-const-issue-61744.rs:13:36
 ...
 LL |     const CONSTANT: i32 = unsafe { fake_type() };
    |     ---------------------------------------------
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error[E0080]: erroneous constant used
-  --> $DIR/uninhabited-const-issue-61744.rs:18:10
+  --> $DIR/uninhabited-const-issue-61744.rs:19:10
    |
 LL |     dbg!(i32::CONSTANT);
    |          ^^^^^^^^^^^^^ referenced constant has errors
diff --git a/src/test/ui/consts/write_to_mut_ref_dest.mut_refs.stderr b/src/test/ui/consts/write_to_mut_ref_dest.mut_refs.stderr
new file mode 100644
index 00000000000..3ee50907461
--- /dev/null
+++ b/src/test/ui/consts/write_to_mut_ref_dest.mut_refs.stderr
@@ -0,0 +1,12 @@
+error[E0658]: dereferencing raw pointers in constants is unstable
+  --> $DIR/write_to_mut_ref_dest.rs:11:18
+   |
+LL |         unsafe { *b = 5; }
+   |                  ^^^^^^
+   |
+   = note: see issue #51911 <https://github.com/rust-lang/rust/issues/51911> for more information
+   = help: add `#![feature(const_raw_ptr_deref)]` to the crate attributes to enable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/projection_qualif.rs b/src/test/ui/consts/write_to_mut_ref_dest.rs
index 5e2584a6e95..d35df330bb8 100644
--- a/src/test/ui/consts/projection_qualif.rs
+++ b/src/test/ui/consts/write_to_mut_ref_dest.rs
@@ -7,7 +7,7 @@ use std::cell::Cell;
 const FOO: &u32 = {
     let mut a = 42;
     {
-        let b: *mut u32 = &mut a; //~ ERROR mutable references are not allowed in constants
+        let b: *mut u32 = &mut a; //[stock]~ ERROR mutable references are not allowed in constants
         unsafe { *b = 5; } //~ ERROR dereferencing raw pointers in constants
     }
     &{a}
diff --git a/src/test/ui/consts/write_to_mut_ref_dest.stock.stderr b/src/test/ui/consts/write_to_mut_ref_dest.stock.stderr
new file mode 100644
index 00000000000..2b6d1d3267b
--- /dev/null
+++ b/src/test/ui/consts/write_to_mut_ref_dest.stock.stderr
@@ -0,0 +1,21 @@
+error[E0658]: mutable references are not allowed in constants
+  --> $DIR/write_to_mut_ref_dest.rs:10:27
+   |
+LL |         let b: *mut u32 = &mut a;
+   |                           ^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
+
+error[E0658]: dereferencing raw pointers in constants is unstable
+  --> $DIR/write_to_mut_ref_dest.rs:11:18
+   |
+LL |         unsafe { *b = 5; }
+   |                  ^^^^^^
+   |
+   = note: see issue #51911 <https://github.com/rust-lang/rust/issues/51911> for more information
+   = help: add `#![feature(const_raw_ptr_deref)]` to the crate attributes to enable
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/write_to_static_via_mut_ref.rs b/src/test/ui/consts/write_to_static_via_mut_ref.rs
new file mode 100644
index 00000000000..665c305e961
--- /dev/null
+++ b/src/test/ui/consts/write_to_static_via_mut_ref.rs
@@ -0,0 +1,8 @@
+#![feature(const_mut_refs)]
+#![allow(const_err)]
+
+static OH_NO: &mut i32 = &mut 42; //~ ERROR mutable references are not allowed
+fn main() {
+    assert_eq!(*OH_NO, 42);
+    *OH_NO = 43; //~ ERROR cannot assign to `*OH_NO`, as `OH_NO` is an immutable static
+}
diff --git a/src/test/ui/consts/write_to_static_via_mut_ref.stderr b/src/test/ui/consts/write_to_static_via_mut_ref.stderr
new file mode 100644
index 00000000000..d19e998d617
--- /dev/null
+++ b/src/test/ui/consts/write_to_static_via_mut_ref.stderr
@@ -0,0 +1,16 @@
+error[E0764]: mutable references are not allowed in the final value of statics
+  --> $DIR/write_to_static_via_mut_ref.rs:4:26
+   |
+LL | static OH_NO: &mut i32 = &mut 42;
+   |                          ^^^^^^^
+
+error[E0594]: cannot assign to `*OH_NO`, as `OH_NO` is an immutable static item
+  --> $DIR/write_to_static_via_mut_ref.rs:7:5
+   |
+LL |     *OH_NO = 43;
+   |     ^^^^^^^^^^^ cannot assign
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0594, E0764.
+For more information about an error, try `rustc --explain E0594`.
diff --git a/src/test/ui/derives/derive-Debug-use-ufcs-struct.rs b/src/test/ui/derives/derive-Debug-use-ufcs-struct.rs
new file mode 100644
index 00000000000..cb9dda84159
--- /dev/null
+++ b/src/test/ui/derives/derive-Debug-use-ufcs-struct.rs
@@ -0,0 +1,40 @@
+// run-pass
+#![allow(warnings)]
+
+#[derive(Debug)]
+pub struct Bar { pub t: () }
+
+impl<T> Access for T {}
+pub trait Access {
+    fn field(&self, _: impl Sized, _: impl Sized) {
+        panic!("got into Access::field");
+    }
+
+    fn finish(&self) -> Result<(), std::fmt::Error> {
+        panic!("got into Access::finish");
+    }
+
+    fn debug_struct(&self, _: impl Sized, _: impl Sized) {
+        panic!("got into Access::debug_struct");
+    }
+}
+
+impl<T> MutAccess for T {}
+pub trait MutAccess {
+    fn field(&mut self, _: impl Sized, _: impl Sized) {
+        panic!("got into MutAccess::field");
+    }
+
+    fn finish(&mut self) -> Result<(), std::fmt::Error> {
+        panic!("got into MutAccess::finish");
+    }
+
+    fn debug_struct(&mut self, _: impl Sized, _: impl Sized) {
+        panic!("got into MutAccess::debug_struct");
+    }
+}
+
+fn main() {
+    let bar = Bar { t: () };
+    assert_eq!("Bar { t: () }", format!("{:?}", bar));
+}
diff --git a/src/test/ui/derives/derive-Debug-use-ufcs-tuple.rs b/src/test/ui/derives/derive-Debug-use-ufcs-tuple.rs
new file mode 100644
index 00000000000..5f786769fe7
--- /dev/null
+++ b/src/test/ui/derives/derive-Debug-use-ufcs-tuple.rs
@@ -0,0 +1,32 @@
+// run-pass
+#![allow(warnings)]
+
+#[derive(Debug)]
+pub struct Foo<T>(pub T);
+
+use std::fmt;
+
+impl<T> Field for T {}
+impl<T> Finish for T {}
+impl Dt for &mut fmt::Formatter<'_> {}
+
+pub trait Field {
+    fn field(&self, _: impl Sized) {
+        panic!("got into field");
+    }
+}
+pub trait Finish {
+    fn finish(&self) -> Result<(), std::fmt::Error> {
+        panic!("got into finish");
+    }
+}
+pub trait Dt {
+    fn debug_tuple(&self, _: &str) {
+        panic!("got into debug_tuple");
+    }
+}
+
+fn main() {
+    let foo = Foo(());
+    assert_eq!("Foo(())", format!("{:?}", foo));
+}
diff --git a/src/test/ui/derives/derive-assoc-type-not-impl.stderr b/src/test/ui/derives/derive-assoc-type-not-impl.stderr
index 92ba4f0704f..ffee7004f8f 100644
--- a/src/test/ui/derives/derive-assoc-type-not-impl.stderr
+++ b/src/test/ui/derives/derive-assoc-type-not-impl.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `clone` found for struct `Bar<NotClone>` in the current scope
+error[E0599]: the method `clone` exists for struct `Bar<NotClone>`, but its trait bounds were not satisfied
   --> $DIR/derive-assoc-type-not-impl.rs:18:30
    |
 LL | struct Bar<T: Foo> {
@@ -11,7 +11,7 @@ LL | struct NotClone;
    | ---------------- doesn't satisfy `NotClone: Clone`
 ...
 LL |     Bar::<NotClone> { x: 1 }.clone();
-   |                              ^^^^^ method not found in `Bar<NotClone>`
+   |                              ^^^^^ method cannot be called on `Bar<NotClone>` due to unsatisfied trait bounds
    | 
   ::: $SRC_DIR/core/src/clone.rs:LL:COL
    |
@@ -21,7 +21,7 @@ LL |     fn clone(&self) -> Self;
    |        the method is available for `Arc<Bar<NotClone>>` here
    |        the method is available for `Rc<Bar<NotClone>>` here
    |
-   = note: the method `clone` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `NotClone: Clone`
            which is required by `Bar<NotClone>: Clone`
    = help: items from traits can only be used if the trait is implemented and in scope
diff --git a/src/test/ui/destructuring-assignment/struct_destructure_fail.stderr b/src/test/ui/destructuring-assignment/struct_destructure_fail.stderr
index 81661a357e7..8a83e145ea2 100644
--- a/src/test/ui/destructuring-assignment/struct_destructure_fail.stderr
+++ b/src/test/ui/destructuring-assignment/struct_destructure_fail.stderr
@@ -32,12 +32,12 @@ LL |     Struct { a, _ } = Struct { a: 1, b: 2 };
    |
 help: include the missing field in the pattern
    |
-LL |     Struct { a, b, _ } = Struct { a: 1, b: 2 };
-   |               ^^^
+LL |     Struct { a, b } = Struct { a: 1, b: 2 };
+   |               ^^^^^
 help: if you don't care about this missing field, you can explicitly ignore it
    |
-LL |     Struct { a, .., _ } = Struct { a: 1, b: 2 };
-   |               ^^^^
+LL |     Struct { a, .. } = Struct { a: 1, b: 2 };
+   |               ^^^^^^
 
 error: aborting due to 5 previous errors
 
diff --git a/src/test/ui/drop/dynamic-drop-async.rs b/src/test/ui/drop/dynamic-drop-async.rs
index a952fe8e76e..c0bf0bdf731 100644
--- a/src/test/ui/drop/dynamic-drop-async.rs
+++ b/src/test/ui/drop/dynamic-drop-async.rs
@@ -43,7 +43,6 @@ impl<T: Unpin> Future for Defer<T> {
 /// The `failing_op`-th operation will panic.
 struct Allocator {
     data: RefCell<Vec<bool>>,
-    name: &'static str,
     failing_op: usize,
     cur_ops: Cell<usize>,
 }
@@ -55,45 +54,40 @@ impl Drop for Allocator {
     fn drop(&mut self) {
         let data = self.data.borrow();
         if data.iter().any(|d| *d) {
-            panic!("missing free in {:?}: {:?}", self.name, data);
+            panic!("missing free: {:?}", data);
         }
     }
 }
 
 impl Allocator {
-    fn new(failing_op: usize, name: &'static str) -> Self {
-        Allocator {
-            failing_op,
-            name,
-            cur_ops: Cell::new(0),
-            data: RefCell::new(vec![]),
-        }
+    fn new(failing_op: usize) -> Self {
+        Allocator { failing_op, cur_ops: Cell::new(0), data: RefCell::new(vec![]) }
     }
-    fn alloc(self: &Rc<Allocator>) -> impl Future<Output = Ptr> + 'static {
+    fn alloc(&self) -> impl Future<Output = Ptr<'_>> + '_ {
         self.fallible_operation();
 
         let mut data = self.data.borrow_mut();
 
         let addr = data.len();
         data.push(true);
-        Defer { ready: false, value: Some(Ptr(addr, self.clone())) }
+        Defer { ready: false, value: Some(Ptr(addr, self)) }
     }
     fn fallible_operation(&self) {
         self.cur_ops.set(self.cur_ops.get() + 1);
 
         if self.cur_ops.get() == self.failing_op {
-            panic!(InjectedFailure);
+            panic::panic_any(InjectedFailure);
         }
     }
 }
 
 // Type that tracks whether it was dropped and can panic when it's created or
 // destroyed.
-struct Ptr(usize, Rc<Allocator>);
-impl Drop for Ptr {
+struct Ptr<'a>(usize, &'a Allocator);
+impl<'a> Drop for Ptr<'a> {
     fn drop(&mut self) {
         match self.1.data.borrow_mut()[self.0] {
-            false => panic!("double free in {:?} at index {:?}", self.1.name, self.0),
+            false => panic!("double free at index {:?}", self.0),
             ref mut d => *d = false,
         }
 
@@ -117,7 +111,7 @@ async fn dynamic_drop(a: Rc<Allocator>, c: bool) {
     };
 }
 
-struct TwoPtrs(Ptr, Ptr);
+struct TwoPtrs<'a>(Ptr<'a>, Ptr<'a>);
 async fn struct_dynamic_drop(a: Rc<Allocator>, c0: bool, c1: bool, c: bool) {
     for i in 0..2 {
         let x;
@@ -238,62 +232,21 @@ async fn move_ref_pattern(a: Rc<Allocator>) {
     a.alloc().await;
 }
 
-async fn panic_after_return(a: Rc<Allocator>, c: bool) -> (Ptr,) {
-    a.alloc().await;
-    let p = a.alloc().await;
-    if c {
-        a.alloc().await;
-        let q = a.alloc().await;
-        // We use a return type that isn't used anywhere else to make sure that
-        // the return place doesn't incorrectly end up in the generator state.
-        return (a.alloc().await,);
-    }
-    (a.alloc().await,)
-}
-
-
-async fn panic_after_init_by_loop(a: Rc<Allocator>) {
-    a.alloc().await;
-    let p = a.alloc().await;
-    let q = loop {
-        a.alloc().await;
-        let r = a.alloc().await;
-        break a.alloc().await;
-    };
-}
-
-async fn panic_after_init_by_match_with_bindings_and_guard(a: Rc<Allocator>, b: bool) {
-    a.alloc().await;
-    let p = a.alloc().await;
-    let q = match a.alloc().await {
-        ref _x if b => {
-            a.alloc().await;
-            let r = a.alloc().await;
-            a.alloc().await
-        }
-        _x => {
-            a.alloc().await;
-            let r = a.alloc().await;
-            a.alloc().await
-        },
-    };
-}
-
-fn run_test<F, G, O>(cx: &mut Context<'_>, ref f: F, name: &'static str)
+fn run_test<F, G>(cx: &mut Context<'_>, ref f: F)
 where
     F: Fn(Rc<Allocator>) -> G,
-    G: Future<Output = O>,
+    G: Future<Output = ()>,
 {
     for polls in 0.. {
         // Run without any panics to find which operations happen after the
         // penultimate `poll`.
-        let first_alloc = Rc::new(Allocator::new(usize::MAX, name));
+        let first_alloc = Rc::new(Allocator::new(usize::MAX));
         let mut fut = Box::pin(f(first_alloc.clone()));
         let mut ops_before_last_poll = 0;
         let mut completed = false;
         for _ in 0..polls {
             ops_before_last_poll = first_alloc.cur_ops.get();
-            if let Poll::Ready(_) = fut.as_mut().poll(cx) {
+            if let Poll::Ready(()) = fut.as_mut().poll(cx) {
                 completed = true;
             }
         }
@@ -302,7 +255,7 @@ where
         // Start at `ops_before_last_poll` so that we will always be able to
         // `poll` the expected number of times.
         for failing_op in ops_before_last_poll..first_alloc.cur_ops.get() {
-            let alloc = Rc::new(Allocator::new(failing_op + 1, name));
+            let alloc = Rc::new(Allocator::new(failing_op + 1));
             let f = &f;
             let cx = &mut *cx;
             let result = panic::catch_unwind(panic::AssertUnwindSafe(move || {
@@ -332,58 +285,48 @@ fn clone_waker(data: *const ()) -> RawWaker {
     RawWaker::new(data, &RawWakerVTable::new(clone_waker, drop, drop, drop))
 }
 
-macro_rules! run_test {
-    ($ctxt:expr, $e:expr) => { run_test($ctxt, $e, stringify!($e)); };
-}
-
 fn main() {
     let waker = unsafe { Waker::from_raw(clone_waker(ptr::null())) };
     let context = &mut Context::from_waker(&waker);
 
-    run_test!(context, |a| dynamic_init(a, false));
-    run_test!(context, |a| dynamic_init(a, true));
-    run_test!(context, |a| dynamic_drop(a, false));
-    run_test!(context, |a| dynamic_drop(a, true));
-
-    run_test!(context, |a| assignment(a, false, false));
-    run_test!(context, |a| assignment(a, false, true));
-    run_test!(context, |a| assignment(a, true, false));
-    run_test!(context, |a| assignment(a, true, true));
-
-    run_test!(context, |a| array_simple(a));
-    run_test!(context, |a| vec_simple(a));
-    run_test!(context, |a| vec_unreachable(a));
-
-    run_test!(context, |a| struct_dynamic_drop(a, false, false, false));
-    run_test!(context, |a| struct_dynamic_drop(a, false, false, true));
-    run_test!(context, |a| struct_dynamic_drop(a, false, true, false));
-    run_test!(context, |a| struct_dynamic_drop(a, false, true, true));
-    run_test!(context, |a| struct_dynamic_drop(a, true, false, false));
-    run_test!(context, |a| struct_dynamic_drop(a, true, false, true));
-    run_test!(context, |a| struct_dynamic_drop(a, true, true, false));
-    run_test!(context, |a| struct_dynamic_drop(a, true, true, true));
-
-    run_test!(context, |a| field_assignment(a, false));
-    run_test!(context, |a| field_assignment(a, true));
-
-    run_test!(context, |a| mixed_drop_and_nondrop(a));
-
-    run_test!(context, |a| slice_pattern_one_of(a, 0));
-    run_test!(context, |a| slice_pattern_one_of(a, 1));
-    run_test!(context, |a| slice_pattern_one_of(a, 2));
-    run_test!(context, |a| slice_pattern_one_of(a, 3));
-
-    run_test!(context, |a| subslice_pattern_from_end_with_drop(a, true, true));
-    run_test!(context, |a| subslice_pattern_from_end_with_drop(a, true, false));
-    run_test!(context, |a| subslice_pattern_from_end_with_drop(a, false, true));
-    run_test!(context, |a| subslice_pattern_from_end_with_drop(a, false, false));
-    run_test!(context, |a| subslice_pattern_reassign(a));
-
-    run_test!(context, |a| move_ref_pattern(a));
-
-    run_test!(context, |a| panic_after_return(a, false));
-    run_test!(context, |a| panic_after_return(a, true));
-    run_test!(context, |a| panic_after_init_by_loop(a));
-    run_test!(context, |a| panic_after_init_by_match_with_bindings_and_guard(a, false));
-    run_test!(context, |a| panic_after_init_by_match_with_bindings_and_guard(a, true));
+    run_test(context, |a| dynamic_init(a, false));
+    run_test(context, |a| dynamic_init(a, true));
+    run_test(context, |a| dynamic_drop(a, false));
+    run_test(context, |a| dynamic_drop(a, true));
+
+    run_test(context, |a| assignment(a, false, false));
+    run_test(context, |a| assignment(a, false, true));
+    run_test(context, |a| assignment(a, true, false));
+    run_test(context, |a| assignment(a, true, true));
+
+    run_test(context, |a| array_simple(a));
+    run_test(context, |a| vec_simple(a));
+    run_test(context, |a| vec_unreachable(a));
+
+    run_test(context, |a| struct_dynamic_drop(a, false, false, false));
+    run_test(context, |a| struct_dynamic_drop(a, false, false, true));
+    run_test(context, |a| struct_dynamic_drop(a, false, true, false));
+    run_test(context, |a| struct_dynamic_drop(a, false, true, true));
+    run_test(context, |a| struct_dynamic_drop(a, true, false, false));
+    run_test(context, |a| struct_dynamic_drop(a, true, false, true));
+    run_test(context, |a| struct_dynamic_drop(a, true, true, false));
+    run_test(context, |a| struct_dynamic_drop(a, true, true, true));
+
+    run_test(context, |a| field_assignment(a, false));
+    run_test(context, |a| field_assignment(a, true));
+
+    run_test(context, |a| mixed_drop_and_nondrop(a));
+
+    run_test(context, |a| slice_pattern_one_of(a, 0));
+    run_test(context, |a| slice_pattern_one_of(a, 1));
+    run_test(context, |a| slice_pattern_one_of(a, 2));
+    run_test(context, |a| slice_pattern_one_of(a, 3));
+
+    run_test(context, |a| subslice_pattern_from_end_with_drop(a, true, true));
+    run_test(context, |a| subslice_pattern_from_end_with_drop(a, true, false));
+    run_test(context, |a| subslice_pattern_from_end_with_drop(a, false, true));
+    run_test(context, |a| subslice_pattern_from_end_with_drop(a, false, false));
+    run_test(context, |a| subslice_pattern_reassign(a));
+
+    run_test(context, |a| move_ref_pattern(a));
 }
diff --git a/src/test/ui/drop/dynamic-drop.rs b/src/test/ui/drop/dynamic-drop.rs
index ddccee20e12..e90ea1c55b0 100644
--- a/src/test/ui/drop/dynamic-drop.rs
+++ b/src/test/ui/drop/dynamic-drop.rs
@@ -3,6 +3,7 @@
 
 #![feature(generators, generator_trait)]
 #![feature(bindings_after_at)]
+
 #![allow(unused_assignments)]
 #![allow(unused_variables)]
 
@@ -16,7 +17,6 @@ struct InjectedFailure;
 
 struct Allocator {
     data: RefCell<Vec<bool>>,
-    name: &'static str,
     failing_op: usize,
     cur_ops: Cell<usize>,
 }
@@ -28,25 +28,24 @@ impl Drop for Allocator {
     fn drop(&mut self) {
         let data = self.data.borrow();
         if data.iter().any(|d| *d) {
-            panic!("missing free in {:?}: {:?}", self.name, data);
+            panic!("missing free: {:?}", data);
         }
     }
 }
 
 impl Allocator {
-    fn new(failing_op: usize, name: &'static str) -> Self {
+    fn new(failing_op: usize) -> Self {
         Allocator {
             failing_op: failing_op,
             cur_ops: Cell::new(0),
-            data: RefCell::new(vec![]),
-            name,
+            data: RefCell::new(vec![])
         }
     }
     fn alloc(&self) -> Ptr<'_> {
         self.cur_ops.set(self.cur_ops.get() + 1);
 
         if self.cur_ops.get() == self.failing_op {
-            panic!(InjectedFailure);
+            panic::panic_any(InjectedFailure);
         }
 
         let mut data = self.data.borrow_mut();
@@ -54,20 +53,36 @@ impl Allocator {
         data.push(true);
         Ptr(addr, self)
     }
+    // FIXME(#47949) Any use of this indicates a bug in rustc: we should never
+    // be leaking values in the cases here.
+    //
+    // Creates a `Ptr<'_>` and checks that the allocated value is leaked if the
+    // `failing_op` is in the list of exception.
+    fn alloc_leaked(&self, exceptions: Vec<usize>) -> Ptr<'_> {
+        let ptr = self.alloc();
+
+        if exceptions.iter().any(|operation| *operation == self.failing_op) {
+            let mut data = self.data.borrow_mut();
+            data[ptr.0] = false;
+        }
+        ptr
+    }
 }
 
 struct Ptr<'a>(usize, &'a Allocator);
 impl<'a> Drop for Ptr<'a> {
     fn drop(&mut self) {
         match self.1.data.borrow_mut()[self.0] {
-            false => panic!("double free in {:?} at index {:?}", self.1.name, self.0),
-            ref mut d => *d = false,
+            false => {
+                panic!("double free at index {:?}", self.0)
+            }
+            ref mut d => *d = false
         }
 
-        self.1.cur_ops.set(self.1.cur_ops.get() + 1);
+        self.1.cur_ops.set(self.1.cur_ops.get()+1);
 
         if self.1.cur_ops.get() == self.1.failing_op {
-            panic!(InjectedFailure);
+            panic::panic_any(InjectedFailure);
         }
     }
 }
@@ -162,7 +177,11 @@ fn generator(a: &Allocator, run_count: usize) {
     assert!(run_count < 4);
 
     let mut gen = || {
-        (a.alloc(), yield a.alloc(), a.alloc(), yield a.alloc());
+        (a.alloc(),
+         yield a.alloc(),
+         a.alloc(),
+         yield a.alloc()
+         );
     };
     for _ in 0..run_count {
         Pin::new(&mut gen).resume(());
@@ -186,40 +205,28 @@ fn vec_unreachable(a: &Allocator) {
 }
 
 fn slice_pattern_first(a: &Allocator) {
-    let [_x, ..] = [a.alloc(), a.alloc(), a.alloc()];
+    let[_x, ..] = [a.alloc(), a.alloc(), a.alloc()];
 }
 
 fn slice_pattern_middle(a: &Allocator) {
-    let [_, _x, _] = [a.alloc(), a.alloc(), a.alloc()];
+    let[_, _x, _] = [a.alloc(), a.alloc(), a.alloc()];
 }
 
 fn slice_pattern_two(a: &Allocator) {
-    let [_x, _, _y, _] = [a.alloc(), a.alloc(), a.alloc(), a.alloc()];
+    let[_x, _, _y, _] = [a.alloc(), a.alloc(), a.alloc(), a.alloc()];
 }
 
 fn slice_pattern_last(a: &Allocator) {
-    let [.., _y] = [a.alloc(), a.alloc(), a.alloc(), a.alloc()];
+    let[.., _y] = [a.alloc(), a.alloc(), a.alloc(), a.alloc()];
 }
 
 fn slice_pattern_one_of(a: &Allocator, i: usize) {
     let array = [a.alloc(), a.alloc(), a.alloc(), a.alloc()];
     let _x = match i {
-        0 => {
-            let [a, ..] = array;
-            a
-        }
-        1 => {
-            let [_, a, ..] = array;
-            a
-        }
-        2 => {
-            let [_, _, a, _] = array;
-            a
-        }
-        3 => {
-            let [_, _, _, a] = array;
-            a
-        }
+        0 => { let [a, ..] = array; a }
+        1 => { let [_, a, ..] = array; a }
+        2 => { let [_, _, a, _] = array; a }
+        3 => { let [_, _, _, a] = array; a }
         _ => panic!("unmatched"),
     };
 }
@@ -227,9 +234,9 @@ fn slice_pattern_one_of(a: &Allocator, i: usize) {
 fn subslice_pattern_from_end(a: &Allocator, arg: bool) {
     let a = [a.alloc(), a.alloc(), a.alloc()];
     if arg {
-        let [.., _x, _] = a;
+        let[.., _x, _] = a;
     } else {
-        let [_, _y @ ..] = a;
+        let[_, _y @ ..] = a;
     }
 }
 
@@ -241,61 +248,45 @@ fn subslice_pattern_from_end_with_drop(a: &Allocator, arg: bool, arg2: bool) {
     }
 
     if arg {
-        let [.., _x, _] = a;
+        let[.., _x, _] = a;
     } else {
-        let [_, _y @ ..] = a;
+        let[_, _y @ ..] = a;
     }
 }
 
 fn slice_pattern_reassign(a: &Allocator) {
     let mut ar = [a.alloc(), a.alloc()];
-    let [_, _x] = ar;
+    let[_, _x] = ar;
     ar = [a.alloc(), a.alloc()];
-    let [.., _y] = ar;
+    let[.., _y] = ar;
 }
 
 fn subslice_pattern_reassign(a: &Allocator) {
     let mut ar = [a.alloc(), a.alloc(), a.alloc()];
-    let [_, _, _x] = ar;
+    let[_, _, _x] = ar;
     ar = [a.alloc(), a.alloc(), a.alloc()];
-    let [_, _y @ ..] = ar;
+    let[_, _y @ ..] = ar;
 }
 
 fn index_field_mixed_ends(a: &Allocator) {
     let ar = [(a.alloc(), a.alloc()), (a.alloc(), a.alloc())];
-    let [(_x, _), ..] = ar;
-    let [(_, _y), _] = ar;
-    let [_, (_, _w)] = ar;
-    let [.., (_z, _)] = ar;
+    let[(_x, _), ..] = ar;
+    let[(_, _y), _] = ar;
+    let[_, (_, _w)] = ar;
+    let[.., (_z, _)] = ar;
 }
 
 fn subslice_mixed_min_lengths(a: &Allocator, c: i32) {
     let ar = [(a.alloc(), a.alloc()), (a.alloc(), a.alloc())];
     match c {
-        0 => {
-            let [_x, ..] = ar;
-        }
-        1 => {
-            let [_x, _, ..] = ar;
-        }
-        2 => {
-            let [_x, _] = ar;
-        }
-        3 => {
-            let [(_x, _), _, ..] = ar;
-        }
-        4 => {
-            let [.., (_x, _)] = ar;
-        }
-        5 => {
-            let [.., (_x, _), _] = ar;
-        }
-        6 => {
-            let [_y @ ..] = ar;
-        }
-        _ => {
-            let [_y @ .., _] = ar;
-        }
+        0 => { let[_x, ..] = ar; }
+        1 => { let[_x, _, ..] = ar; }
+        2 => { let[_x, _] = ar; }
+        3 => { let[(_x, _), _, ..] = ar; }
+        4 => { let[.., (_x, _)] = ar; }
+        5 => { let[.., (_x, _), _] = ar; }
+        6 => { let [_y @ ..] = ar; }
+        _ => { let [_y @ .., _] = ar; }
     }
 }
 
@@ -343,160 +334,87 @@ fn move_ref_pattern(a: &Allocator) {
 }
 
 fn panic_after_return(a: &Allocator) -> Ptr<'_> {
+    // Panic in the drop of `p` or `q` can leak
+    let exceptions = vec![8, 9];
     a.alloc();
     let p = a.alloc();
     {
         a.alloc();
         let p = a.alloc();
-        a.alloc()
+        // FIXME (#47949) We leak values when we panic in a destructor after
+        // evaluating an expression with `rustc_mir::build::Builder::into`.
+        a.alloc_leaked(exceptions)
     }
 }
 
 fn panic_after_return_expr(a: &Allocator) -> Ptr<'_> {
+    // Panic in the drop of `p` or `q` can leak
+    let exceptions = vec![8, 9];
     a.alloc();
     let p = a.alloc();
     {
         a.alloc();
         let q = a.alloc();
-        return a.alloc();
+        // FIXME (#47949)
+        return a.alloc_leaked(exceptions);
     }
 }
 
 fn panic_after_init(a: &Allocator) {
+    // Panic in the drop of `r` can leak
+    let exceptions = vec![8];
     a.alloc();
     let p = a.alloc();
     let q = {
         a.alloc();
         let r = a.alloc();
-        a.alloc()
+        // FIXME (#47949)
+        a.alloc_leaked(exceptions)
     };
 }
 
 fn panic_after_init_temp(a: &Allocator) {
+    // Panic in the drop of `r` can leak
+    let exceptions = vec![8];
     a.alloc();
     let p = a.alloc();
     {
         a.alloc();
         let r = a.alloc();
-        a.alloc()
+        // FIXME (#47949)
+        a.alloc_leaked(exceptions)
     };
 }
 
 fn panic_after_init_by_loop(a: &Allocator) {
+    // Panic in the drop of `r` can leak
+    let exceptions = vec![8];
     a.alloc();
     let p = a.alloc();
     let q = loop {
         a.alloc();
         let r = a.alloc();
-        break a.alloc();
-    };
-}
-
-fn panic_after_init_by_match(a: &Allocator, b: bool) {
-    a.alloc();
-    let p = a.alloc();
-    let _ = loop {
-        let q = match b {
-            true => {
-                a.alloc();
-                let r = a.alloc();
-                a.alloc()
-            }
-            false => {
-                a.alloc();
-                let r = a.alloc();
-                break a.alloc();
-            }
-        };
-        return;
-    };
-}
-
-fn panic_after_init_by_match_with_guard(a: &Allocator, b: bool) {
-    a.alloc();
-    let p = a.alloc();
-    let q = match a.alloc() {
-        _ if b => {
-            a.alloc();
-            let r = a.alloc();
-            a.alloc()
-        }
-        _ => {
-            a.alloc();
-            let r = a.alloc();
-            a.alloc()
-        }
-    };
-}
-
-fn panic_after_init_by_match_with_bindings_and_guard(a: &Allocator, b: bool) {
-    a.alloc();
-    let p = a.alloc();
-    let q = match a.alloc() {
-        _x if b => {
-            a.alloc();
-            let r = a.alloc();
-            a.alloc()
-        }
-        _x => {
-            a.alloc();
-            let r = a.alloc();
-            a.alloc()
-        }
-    };
-}
-
-fn panic_after_init_by_match_with_ref_bindings_and_guard(a: &Allocator, b: bool) {
-    a.alloc();
-    let p = a.alloc();
-    let q = match a.alloc() {
-        ref _x if b => {
-            a.alloc();
-            let r = a.alloc();
-            a.alloc()
-        }
-        ref _x => {
-            a.alloc();
-            let r = a.alloc();
-            a.alloc()
-        }
-    };
-}
-
-fn panic_after_init_by_break_if(a: &Allocator, b: bool) {
-    a.alloc();
-    let p = a.alloc();
-    let q = loop {
-        let r = a.alloc();
-        break if b {
-            let s = a.alloc();
-            a.alloc()
-        } else {
-            a.alloc()
-        };
+        // FIXME (#47949)
+        break a.alloc_leaked(exceptions);
     };
 }
 
-fn run_test<F>(mut f: F, name: &'static str)
-where
-    F: FnMut(&Allocator),
+fn run_test<F>(mut f: F)
+    where F: FnMut(&Allocator)
 {
-    let first_alloc = Allocator::new(usize::MAX, name);
+    let first_alloc = Allocator::new(usize::MAX);
     f(&first_alloc);
 
-    for failing_op in 1..first_alloc.cur_ops.get() + 1 {
-        let alloc = Allocator::new(failing_op, name);
+    for failing_op in 1..first_alloc.cur_ops.get()+1 {
+        let alloc = Allocator::new(failing_op);
         let alloc = &alloc;
         let f = panic::AssertUnwindSafe(&mut f);
         let result = panic::catch_unwind(move || {
             f.0(alloc);
         });
         match result {
-            Ok(..) => panic!(
-                "test executed {} ops but now {}",
-                first_alloc.cur_ops.get(),
-                alloc.cur_ops.get()
-            ),
+            Ok(..) => panic!("test executed {} ops but now {}",
+                             first_alloc.cur_ops.get(), alloc.cur_ops.get()),
             Err(e) => {
                 if e.downcast_ref::<InjectedFailure>().is_none() {
                     panic::resume_unwind(e);
@@ -506,115 +424,98 @@ where
     }
 }
 
-fn run_test_nopanic<F>(mut f: F, name: &'static str)
-where
-    F: FnMut(&Allocator),
+fn run_test_nopanic<F>(mut f: F)
+    where F: FnMut(&Allocator)
 {
-    let first_alloc = Allocator::new(usize::MAX, name);
+    let first_alloc = Allocator::new(usize::MAX);
     f(&first_alloc);
 }
 
-macro_rules! run_test {
-    ($e:expr) => {
-        run_test($e, stringify!($e));
-    };
-}
-
 fn main() {
-    run_test!(|a| dynamic_init(a, false));
-    run_test!(|a| dynamic_init(a, true));
-    run_test!(|a| dynamic_drop(a, false));
-    run_test!(|a| dynamic_drop(a, true));
-
-    run_test!(|a| assignment2(a, false, false));
-    run_test!(|a| assignment2(a, false, true));
-    run_test!(|a| assignment2(a, true, false));
-    run_test!(|a| assignment2(a, true, true));
-
-    run_test!(|a| assignment1(a, false));
-    run_test!(|a| assignment1(a, true));
-
-    run_test!(|a| array_simple(a));
-    run_test!(|a| vec_simple(a));
-    run_test!(|a| vec_unreachable(a));
-
-    run_test!(|a| struct_dynamic_drop(a, false, false, false));
-    run_test!(|a| struct_dynamic_drop(a, false, false, true));
-    run_test!(|a| struct_dynamic_drop(a, false, true, false));
-    run_test!(|a| struct_dynamic_drop(a, false, true, true));
-    run_test!(|a| struct_dynamic_drop(a, true, false, false));
-    run_test!(|a| struct_dynamic_drop(a, true, false, true));
-    run_test!(|a| struct_dynamic_drop(a, true, true, false));
-    run_test!(|a| struct_dynamic_drop(a, true, true, true));
-
-    run_test!(|a| field_assignment(a, false));
-    run_test!(|a| field_assignment(a, true));
-
-    run_test!(|a| generator(a, 0));
-    run_test!(|a| generator(a, 1));
-    run_test!(|a| generator(a, 2));
-    run_test!(|a| generator(a, 3));
-
-    run_test!(|a| mixed_drop_and_nondrop(a));
-
-    run_test!(|a| slice_pattern_first(a));
-    run_test!(|a| slice_pattern_middle(a));
-    run_test!(|a| slice_pattern_two(a));
-    run_test!(|a| slice_pattern_last(a));
-    run_test!(|a| slice_pattern_one_of(a, 0));
-    run_test!(|a| slice_pattern_one_of(a, 1));
-    run_test!(|a| slice_pattern_one_of(a, 2));
-    run_test!(|a| slice_pattern_one_of(a, 3));
-
-    run_test!(|a| subslice_pattern_from_end(a, true));
-    run_test!(|a| subslice_pattern_from_end(a, false));
-    run_test!(|a| subslice_pattern_from_end_with_drop(a, true, true));
-    run_test!(|a| subslice_pattern_from_end_with_drop(a, true, false));
-    run_test!(|a| subslice_pattern_from_end_with_drop(a, false, true));
-    run_test!(|a| subslice_pattern_from_end_with_drop(a, false, false));
-    run_test!(|a| slice_pattern_reassign(a));
-    run_test!(|a| subslice_pattern_reassign(a));
-
-    run_test!(|a| index_field_mixed_ends(a));
-    run_test!(|a| subslice_mixed_min_lengths(a, 0));
-    run_test!(|a| subslice_mixed_min_lengths(a, 1));
-    run_test!(|a| subslice_mixed_min_lengths(a, 2));
-    run_test!(|a| subslice_mixed_min_lengths(a, 3));
-    run_test!(|a| subslice_mixed_min_lengths(a, 4));
-    run_test!(|a| subslice_mixed_min_lengths(a, 5));
-    run_test!(|a| subslice_mixed_min_lengths(a, 6));
-    run_test!(|a| subslice_mixed_min_lengths(a, 7));
-
-    run_test!(|a| move_ref_pattern(a));
-
-    run_test!(|a| {
+    run_test(|a| dynamic_init(a, false));
+    run_test(|a| dynamic_init(a, true));
+    run_test(|a| dynamic_drop(a, false));
+    run_test(|a| dynamic_drop(a, true));
+
+    run_test(|a| assignment2(a, false, false));
+    run_test(|a| assignment2(a, false, true));
+    run_test(|a| assignment2(a, true, false));
+    run_test(|a| assignment2(a, true, true));
+
+    run_test(|a| assignment1(a, false));
+    run_test(|a| assignment1(a, true));
+
+    run_test(|a| array_simple(a));
+    run_test(|a| vec_simple(a));
+    run_test(|a| vec_unreachable(a));
+
+    run_test(|a| struct_dynamic_drop(a, false, false, false));
+    run_test(|a| struct_dynamic_drop(a, false, false, true));
+    run_test(|a| struct_dynamic_drop(a, false, true, false));
+    run_test(|a| struct_dynamic_drop(a, false, true, true));
+    run_test(|a| struct_dynamic_drop(a, true, false, false));
+    run_test(|a| struct_dynamic_drop(a, true, false, true));
+    run_test(|a| struct_dynamic_drop(a, true, true, false));
+    run_test(|a| struct_dynamic_drop(a, true, true, true));
+
+    run_test(|a| field_assignment(a, false));
+    run_test(|a| field_assignment(a, true));
+
+    run_test(|a| generator(a, 0));
+    run_test(|a| generator(a, 1));
+    run_test(|a| generator(a, 2));
+    run_test(|a| generator(a, 3));
+
+    run_test(|a| mixed_drop_and_nondrop(a));
+
+    run_test(|a| slice_pattern_first(a));
+    run_test(|a| slice_pattern_middle(a));
+    run_test(|a| slice_pattern_two(a));
+    run_test(|a| slice_pattern_last(a));
+    run_test(|a| slice_pattern_one_of(a, 0));
+    run_test(|a| slice_pattern_one_of(a, 1));
+    run_test(|a| slice_pattern_one_of(a, 2));
+    run_test(|a| slice_pattern_one_of(a, 3));
+
+    run_test(|a| subslice_pattern_from_end(a, true));
+    run_test(|a| subslice_pattern_from_end(a, false));
+    run_test(|a| subslice_pattern_from_end_with_drop(a, true, true));
+    run_test(|a| subslice_pattern_from_end_with_drop(a, true, false));
+    run_test(|a| subslice_pattern_from_end_with_drop(a, false, true));
+    run_test(|a| subslice_pattern_from_end_with_drop(a, false, false));
+    run_test(|a| slice_pattern_reassign(a));
+    run_test(|a| subslice_pattern_reassign(a));
+
+    run_test(|a| index_field_mixed_ends(a));
+    run_test(|a| subslice_mixed_min_lengths(a, 0));
+    run_test(|a| subslice_mixed_min_lengths(a, 1));
+    run_test(|a| subslice_mixed_min_lengths(a, 2));
+    run_test(|a| subslice_mixed_min_lengths(a, 3));
+    run_test(|a| subslice_mixed_min_lengths(a, 4));
+    run_test(|a| subslice_mixed_min_lengths(a, 5));
+    run_test(|a| subslice_mixed_min_lengths(a, 6));
+    run_test(|a| subslice_mixed_min_lengths(a, 7));
+
+    run_test(|a| move_ref_pattern(a));
+
+    run_test(|a| {
         panic_after_return(a);
     });
-    run_test!(|a| {
+    run_test(|a| {
         panic_after_return_expr(a);
     });
-    run_test!(|a| panic_after_init(a));
-    run_test!(|a| panic_after_init_temp(a));
-    run_test!(|a| panic_after_init_by_loop(a));
-    run_test!(|a| panic_after_init_by_match(a, false));
-    run_test!(|a| panic_after_init_by_match(a, true));
-    run_test!(|a| panic_after_init_by_match_with_guard(a, false));
-    run_test!(|a| panic_after_init_by_match_with_guard(a, true));
-    run_test!(|a| panic_after_init_by_match_with_bindings_and_guard(a, false));
-    run_test!(|a| panic_after_init_by_match_with_bindings_and_guard(a, true));
-    run_test!(|a| panic_after_init_by_match_with_ref_bindings_and_guard(a, false));
-    run_test!(|a| panic_after_init_by_match_with_ref_bindings_and_guard(a, true));
-    run_test!(|a| panic_after_init_by_break_if(a, false));
-    run_test!(|a| panic_after_init_by_break_if(a, true));
-
-    run_test!(|a| bindings_after_at_dynamic_init_move(a, true));
-    run_test!(|a| bindings_after_at_dynamic_init_move(a, false));
-    run_test!(|a| bindings_after_at_dynamic_init_ref(a, true));
-    run_test!(|a| bindings_after_at_dynamic_init_ref(a, false));
-    run_test!(|a| bindings_after_at_dynamic_drop_move(a, true));
-    run_test!(|a| bindings_after_at_dynamic_drop_move(a, false));
-    run_test!(|a| bindings_after_at_dynamic_drop_ref(a, true));
-    run_test!(|a| bindings_after_at_dynamic_drop_ref(a, false));
-
-    run_test_nopanic(|a| union1(a), "|a| union1(a)");
+    run_test(|a| panic_after_init(a));
+    run_test(|a| panic_after_init_temp(a));
+    run_test(|a| panic_after_init_by_loop(a));
+
+    run_test(|a| bindings_after_at_dynamic_init_move(a, true));
+    run_test(|a| bindings_after_at_dynamic_init_move(a, false));
+    run_test(|a| bindings_after_at_dynamic_init_ref(a, true));
+    run_test(|a| bindings_after_at_dynamic_init_ref(a, false));
+    run_test(|a| bindings_after_at_dynamic_drop_move(a, true));
+    run_test(|a| bindings_after_at_dynamic_drop_move(a, false));
+    run_test(|a| bindings_after_at_dynamic_drop_ref(a, true));
+    run_test(|a| bindings_after_at_dynamic_drop_ref(a, false));
+
+    run_test_nopanic(|a| union1(a));
 }
diff --git a/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr b/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr
index 56cbd882cca..06605c6f208 100644
--- a/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr
+++ b/src/test/ui/editions/edition-imports-virtual-2015-gated.stderr
@@ -2,7 +2,7 @@ error[E0432]: unresolved import `E`
   --> $DIR/edition-imports-virtual-2015-gated.rs:8:5
    |
 LL |     gen_gated!();
-   |     ^^^^^^^^^^^^^ could not find `E` in `{{root}}`
+   |     ^^^^^^^^^^^^^ could not find `E` in crate root
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/src/test/ui/emit-metadata-obj.rs b/src/test/ui/emit-metadata-obj.rs
new file mode 100644
index 00000000000..334c7cc5b81
--- /dev/null
+++ b/src/test/ui/emit-metadata-obj.rs
@@ -0,0 +1,7 @@
+// compile-flags:--emit=metadata,obj
+// build-pass
+
+// A test for the emission of metadata + obj and other metadata + non-link
+// combinations. See issue #81117.
+
+fn main() {}
diff --git a/src/test/ui/error-codes/E0017.rs b/src/test/ui/error-codes/E0017.rs
index 262f7bc72c7..c211ad1a2f8 100644
--- a/src/test/ui/error-codes/E0017.rs
+++ b/src/test/ui/error-codes/E0017.rs
@@ -2,12 +2,13 @@ static X: i32 = 1;
 const C: i32 = 2;
 static mut M: i32 = 3;
 
-const CR: &'static mut i32 = &mut C; //~ ERROR E0764
+const CR: &'static mut i32 = &mut C; //~ ERROR mutable references are not allowed
                                      //~| WARN taking a mutable
-static STATIC_REF: &'static mut i32 = &mut X; //~ ERROR E0764
+static STATIC_REF: &'static mut i32 = &mut X; //~ ERROR E0658
                                               //~| ERROR cannot borrow
+                                              //~| ERROR mutable references are not allowed
 
-static CONST_REF: &'static mut i32 = &mut C; //~ ERROR E0764
+static CONST_REF: &'static mut i32 = &mut C; //~ ERROR mutable references are not allowed
                                               //~| WARN taking a mutable
-static STATIC_MUT_REF: &'static mut i32 = unsafe { &mut M }; //~ ERROR E0764
+static STATIC_MUT_REF: &'static mut i32 = unsafe { &mut M }; //~ ERROR mutable references are not
 fn main() {}
diff --git a/src/test/ui/error-codes/E0017.stderr b/src/test/ui/error-codes/E0017.stderr
index ea591587e6d..7d959b6d148 100644
--- a/src/test/ui/error-codes/E0017.stderr
+++ b/src/test/ui/error-codes/E0017.stderr
@@ -13,17 +13,26 @@ note: `const` item defined here
 LL | const C: i32 = 2;
    | ^^^^^^^^^^^^^^^^^
 
-error[E0764]: mutable references are not allowed in constants
+error[E0764]: mutable references are not allowed in the final value of constants
   --> $DIR/E0017.rs:5:30
    |
 LL | const CR: &'static mut i32 = &mut C;
-   |                              ^^^^^^ `&mut` is only allowed in `const fn`
+   |                              ^^^^^^
 
-error[E0764]: mutable references are not allowed in statics
+error[E0658]: mutation through a reference is not allowed in statics
   --> $DIR/E0017.rs:7:39
    |
 LL | static STATIC_REF: &'static mut i32 = &mut X;
-   |                                       ^^^^^^ `&mut` is only allowed in `const fn`
+   |                                       ^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
+
+error[E0764]: mutable references are not allowed in the final value of statics
+  --> $DIR/E0017.rs:7:39
+   |
+LL | static STATIC_REF: &'static mut i32 = &mut X;
+   |                                       ^^^^^^
 
 error[E0596]: cannot borrow immutable static item `X` as mutable
   --> $DIR/E0017.rs:7:39
@@ -32,7 +41,7 @@ LL | static STATIC_REF: &'static mut i32 = &mut X;
    |                                       ^^^^^^ cannot borrow as mutable
 
 warning: taking a mutable reference to a `const` item
-  --> $DIR/E0017.rs:10:38
+  --> $DIR/E0017.rs:11:38
    |
 LL | static CONST_REF: &'static mut i32 = &mut C;
    |                                      ^^^^^^
@@ -45,19 +54,19 @@ note: `const` item defined here
 LL | const C: i32 = 2;
    | ^^^^^^^^^^^^^^^^^
 
-error[E0764]: mutable references are not allowed in statics
-  --> $DIR/E0017.rs:10:38
+error[E0764]: mutable references are not allowed in the final value of statics
+  --> $DIR/E0017.rs:11:38
    |
 LL | static CONST_REF: &'static mut i32 = &mut C;
-   |                                      ^^^^^^ `&mut` is only allowed in `const fn`
+   |                                      ^^^^^^
 
-error[E0764]: mutable references are not allowed in statics
-  --> $DIR/E0017.rs:12:52
+error[E0764]: mutable references are not allowed in the final value of statics
+  --> $DIR/E0017.rs:13:52
    |
 LL | static STATIC_MUT_REF: &'static mut i32 = unsafe { &mut M };
-   |                                                    ^^^^^^ `&mut` is only allowed in `const fn`
+   |                                                    ^^^^^^
 
-error: aborting due to 5 previous errors; 2 warnings emitted
+error: aborting due to 6 previous errors; 2 warnings emitted
 
-Some errors have detailed explanations: E0596, E0764.
+Some errors have detailed explanations: E0596, E0658, E0764.
 For more information about an error, try `rustc --explain E0596`.
diff --git a/src/test/ui/error-codes/E0027.rs b/src/test/ui/error-codes/E0027.rs
index 8d08e178934..e7eca1ce5af 100644
--- a/src/test/ui/error-codes/E0027.rs
+++ b/src/test/ui/error-codes/E0027.rs
@@ -3,6 +3,7 @@ struct Dog {
     age: u32,
 }
 
+
 fn main() {
     let d = Dog { name: "Rusty".to_string(), age: 8 };
 
@@ -10,6 +11,14 @@ fn main() {
         Dog { age: x } => {} //~ ERROR pattern does not mention field `name`
     }
     match d {
+        // trailing comma
+        Dog { name: x, } => {} //~ ERROR pattern does not mention field `age`
+    }
+    match d {
+        // trailing comma with weird whitespace
+        Dog { name: x  , } => {} //~ ERROR pattern does not mention field `age`
+    }
+    match d {
         Dog {} => {} //~ ERROR pattern does not mention fields `name`, `age`
     }
 }
diff --git a/src/test/ui/error-codes/E0027.stderr b/src/test/ui/error-codes/E0027.stderr
index cf0ff631148..a3dd6910be4 100644
--- a/src/test/ui/error-codes/E0027.stderr
+++ b/src/test/ui/error-codes/E0027.stderr
@@ -1,5 +1,5 @@
 error[E0027]: pattern does not mention field `name`
-  --> $DIR/E0027.rs:10:9
+  --> $DIR/E0027.rs:11:9
    |
 LL |         Dog { age: x } => {}
    |         ^^^^^^^^^^^^^^ missing field `name`
@@ -7,14 +7,44 @@ LL |         Dog { age: x } => {}
 help: include the missing field in the pattern
    |
 LL |         Dog { age: x, name } => {}
-   |                     ^^^^^^
+   |                     ^^^^^^^^
 help: if you don't care about this missing field, you can explicitly ignore it
    |
 LL |         Dog { age: x, .. } => {}
-   |                     ^^^^
+   |                     ^^^^^^
+
+error[E0027]: pattern does not mention field `age`
+  --> $DIR/E0027.rs:15:9
+   |
+LL |         Dog { name: x, } => {}
+   |         ^^^^^^^^^^^^^^^^ missing field `age`
+   |
+help: include the missing field in the pattern
+   |
+LL |         Dog { name: x, age } => {}
+   |                      ^^^^^^^
+help: if you don't care about this missing field, you can explicitly ignore it
+   |
+LL |         Dog { name: x, .. } => {}
+   |                      ^^^^^^
+
+error[E0027]: pattern does not mention field `age`
+  --> $DIR/E0027.rs:19:9
+   |
+LL |         Dog { name: x  , } => {}
+   |         ^^^^^^^^^^^^^^^^^^ missing field `age`
+   |
+help: include the missing field in the pattern
+   |
+LL |         Dog { name: x, age } => {}
+   |                      ^^^^^^^
+help: if you don't care about this missing field, you can explicitly ignore it
+   |
+LL |         Dog { name: x, .. } => {}
+   |                      ^^^^^^
 
 error[E0027]: pattern does not mention fields `name`, `age`
-  --> $DIR/E0027.rs:13:9
+  --> $DIR/E0027.rs:22:9
    |
 LL |         Dog {} => {}
    |         ^^^^^^ missing fields `name`, `age`
@@ -28,6 +58,6 @@ help: if you don't care about these missing fields, you can explicitly ignore th
 LL |         Dog { .. } => {}
    |             ^^^^^^
 
-error: aborting due to 2 previous errors
+error: aborting due to 4 previous errors
 
 For more information about this error, try `rustc --explain E0027`.
diff --git a/src/test/ui/error-codes/E0040.fixed b/src/test/ui/error-codes/E0040.fixed
new file mode 100644
index 00000000000..139dc8f9496
--- /dev/null
+++ b/src/test/ui/error-codes/E0040.fixed
@@ -0,0 +1,18 @@
+// run-rustfix
+struct Foo {
+    x: i32,
+}
+
+impl Drop for Foo {
+    fn drop(&mut self) {
+        println!("kaboom");
+    }
+}
+
+fn main() {
+    let mut x = Foo { x: -7 };
+    x.x = 0;
+    println!("{}", x.x);
+    drop(x);
+    //~^ ERROR E0040
+}
diff --git a/src/test/ui/error-codes/E0040.rs b/src/test/ui/error-codes/E0040.rs
index 113efae82c5..9ffc42d0c78 100644
--- a/src/test/ui/error-codes/E0040.rs
+++ b/src/test/ui/error-codes/E0040.rs
@@ -1,3 +1,4 @@
+// run-rustfix
 struct Foo {
     x: i32,
 }
@@ -10,6 +11,8 @@ impl Drop for Foo {
 
 fn main() {
     let mut x = Foo { x: -7 };
+    x.x = 0;
+    println!("{}", x.x);
     x.drop();
     //~^ ERROR E0040
 }
diff --git a/src/test/ui/error-codes/E0040.stderr b/src/test/ui/error-codes/E0040.stderr
index 69cf28b2970..9fcda1a9385 100644
--- a/src/test/ui/error-codes/E0040.stderr
+++ b/src/test/ui/error-codes/E0040.stderr
@@ -1,11 +1,11 @@
 error[E0040]: explicit use of destructor method
-  --> $DIR/E0040.rs:13:7
+  --> $DIR/E0040.rs:16:7
    |
 LL |     x.drop();
-   |       ^^^^
-   |       |
-   |       explicit destructor calls not allowed
-   |       help: consider using `drop` function: `drop(x)`
+   |     --^^^^--
+   |     | |
+   |     | explicit destructor calls not allowed
+   |     help: consider using `drop` function: `drop(x)`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/error-codes/E0283.rs b/src/test/ui/error-codes/E0283.rs
index 9bdcc9ac42a..4d7c2f2396d 100644
--- a/src/test/ui/error-codes/E0283.rs
+++ b/src/test/ui/error-codes/E0283.rs
@@ -8,6 +8,18 @@ impl Generator for Impl {
     fn create() -> u32 { 1 }
 }
 
+impl Impl {
+    fn new() -> Self {
+        Impl{}
+    }
+}
+
+impl Into<u32> for Impl {
+    fn into(self) -> u32 { 1 }
+}
+
+fn foo(bar: u32) {}
+
 struct AnotherImpl;
 
 impl Generator for AnotherImpl {
@@ -17,3 +29,9 @@ impl Generator for AnotherImpl {
 fn main() {
     let cont: u32 = Generator::create(); //~ ERROR E0283
 }
+
+fn buzz() {
+    let foo_impl = Impl::new();
+    let bar = foo_impl.into() * 1u32; //~ ERROR E0283
+    foo(bar);
+}
diff --git a/src/test/ui/error-codes/E0283.stderr b/src/test/ui/error-codes/E0283.stderr
index e95583c91a7..2f0dfb6dd82 100644
--- a/src/test/ui/error-codes/E0283.stderr
+++ b/src/test/ui/error-codes/E0283.stderr
@@ -1,5 +1,5 @@
 error[E0283]: type annotations needed
-  --> $DIR/E0283.rs:18:21
+  --> $DIR/E0283.rs:30:21
    |
 LL |     fn create() -> u32;
    |     ------------------- required by `Generator::create`
@@ -9,6 +9,18 @@ LL |     let cont: u32 = Generator::create();
    |
    = note: cannot satisfy `_: Generator`
 
-error: aborting due to previous error
+error[E0283]: type annotations needed
+  --> $DIR/E0283.rs:35:24
+   |
+LL |     let bar = foo_impl.into() * 1u32;
+   |               ---------^^^^--
+   |               |        |
+   |               |        cannot infer type for type parameter `T` declared on the trait `Into`
+   |               this method call resolves to `T`
+   |               help: use the fully qualified path for the potential candidate: `<Impl as Into<u32>>::into(foo_impl)`
+   |
+   = note: cannot satisfy `Impl: Into<_>`
+
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0283`.
diff --git a/src/test/ui/error-codes/E0388.rs b/src/test/ui/error-codes/E0388.rs
index bb0c4979b9a..6049d95f0d2 100644
--- a/src/test/ui/error-codes/E0388.rs
+++ b/src/test/ui/error-codes/E0388.rs
@@ -1,12 +1,13 @@
 static X: i32 = 1;
 const C: i32 = 2;
 
-const CR: &'static mut i32 = &mut C; //~ ERROR E0764
+const CR: &'static mut i32 = &mut C; //~ ERROR mutable references are not allowed
                                      //~| WARN taking a mutable
 static STATIC_REF: &'static mut i32 = &mut X; //~ ERROR cannot borrow
-                                              //~| ERROR E0764
+                                              //~| ERROR E0658
+                                              //~| ERROR mutable references are not allowed
 
-static CONST_REF: &'static mut i32 = &mut C; //~ ERROR E0764
+static CONST_REF: &'static mut i32 = &mut C; //~ ERROR mutable references are not allowed
                                              //~| WARN taking a mutable
 
 fn main() {}
diff --git a/src/test/ui/error-codes/E0388.stderr b/src/test/ui/error-codes/E0388.stderr
index 73e0b139cd0..4886a156d2e 100644
--- a/src/test/ui/error-codes/E0388.stderr
+++ b/src/test/ui/error-codes/E0388.stderr
@@ -13,17 +13,26 @@ note: `const` item defined here
 LL | const C: i32 = 2;
    | ^^^^^^^^^^^^^^^^^
 
-error[E0764]: mutable references are not allowed in constants
+error[E0764]: mutable references are not allowed in the final value of constants
   --> $DIR/E0388.rs:4:30
    |
 LL | const CR: &'static mut i32 = &mut C;
-   |                              ^^^^^^ `&mut` is only allowed in `const fn`
+   |                              ^^^^^^
 
-error[E0764]: mutable references are not allowed in statics
+error[E0658]: mutation through a reference is not allowed in statics
   --> $DIR/E0388.rs:6:39
    |
 LL | static STATIC_REF: &'static mut i32 = &mut X;
-   |                                       ^^^^^^ `&mut` is only allowed in `const fn`
+   |                                       ^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
+
+error[E0764]: mutable references are not allowed in the final value of statics
+  --> $DIR/E0388.rs:6:39
+   |
+LL | static STATIC_REF: &'static mut i32 = &mut X;
+   |                                       ^^^^^^
 
 error[E0596]: cannot borrow immutable static item `X` as mutable
   --> $DIR/E0388.rs:6:39
@@ -32,7 +41,7 @@ LL | static STATIC_REF: &'static mut i32 = &mut X;
    |                                       ^^^^^^ cannot borrow as mutable
 
 warning: taking a mutable reference to a `const` item
-  --> $DIR/E0388.rs:9:38
+  --> $DIR/E0388.rs:10:38
    |
 LL | static CONST_REF: &'static mut i32 = &mut C;
    |                                      ^^^^^^
@@ -45,13 +54,13 @@ note: `const` item defined here
 LL | const C: i32 = 2;
    | ^^^^^^^^^^^^^^^^^
 
-error[E0764]: mutable references are not allowed in statics
-  --> $DIR/E0388.rs:9:38
+error[E0764]: mutable references are not allowed in the final value of statics
+  --> $DIR/E0388.rs:10:38
    |
 LL | static CONST_REF: &'static mut i32 = &mut C;
-   |                                      ^^^^^^ `&mut` is only allowed in `const fn`
+   |                                      ^^^^^^
 
-error: aborting due to 4 previous errors; 2 warnings emitted
+error: aborting due to 5 previous errors; 2 warnings emitted
 
-Some errors have detailed explanations: E0596, E0764.
+Some errors have detailed explanations: E0596, E0658, E0764.
 For more information about an error, try `rustc --explain E0596`.
diff --git a/src/test/ui/error-codes/E0396-fixed.rs b/src/test/ui/error-codes/E0396-fixed.rs
index 1029c75f17d..76dd857ea56 100644
--- a/src/test/ui/error-codes/E0396-fixed.rs
+++ b/src/test/ui/error-codes/E0396-fixed.rs
@@ -4,6 +4,7 @@ const REG_ADDR: *const u8 = 0x5f3759df as *const u8;
 
 const VALUE: u8 = unsafe { *REG_ADDR };
 //~^ ERROR any use of this value will cause an error
+//~| WARN this was previously accepted by the compiler but is being phased out
 
 fn main() {
 }
diff --git a/src/test/ui/error-codes/E0396-fixed.stderr b/src/test/ui/error-codes/E0396-fixed.stderr
index 68505552562..521394bdc8e 100644
--- a/src/test/ui/error-codes/E0396-fixed.stderr
+++ b/src/test/ui/error-codes/E0396-fixed.stderr
@@ -7,6 +7,8 @@ LL | const VALUE: u8 = unsafe { *REG_ADDR };
    |                            unable to turn bytes into a pointer
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/explicit/explicit-call-to-dtor.fixed b/src/test/ui/explicit/explicit-call-to-dtor.fixed
new file mode 100644
index 00000000000..91a4ca608da
--- /dev/null
+++ b/src/test/ui/explicit/explicit-call-to-dtor.fixed
@@ -0,0 +1,16 @@
+// run-rustfix
+struct Foo {
+    x: isize
+}
+
+impl Drop for Foo {
+    fn drop(&mut self) {
+        println!("kaboom");
+    }
+}
+
+fn main() {
+    let x = Foo { x: 3 };
+    println!("{}", x.x);
+    drop(x);   //~ ERROR explicit use of destructor method
+}
diff --git a/src/test/ui/explicit/explicit-call-to-dtor.rs b/src/test/ui/explicit/explicit-call-to-dtor.rs
index a6f9acc37a1..0656871eb1b 100644
--- a/src/test/ui/explicit/explicit-call-to-dtor.rs
+++ b/src/test/ui/explicit/explicit-call-to-dtor.rs
@@ -1,3 +1,4 @@
+// run-rustfix
 struct Foo {
     x: isize
 }
@@ -10,5 +11,6 @@ impl Drop for Foo {
 
 fn main() {
     let x = Foo { x: 3 };
+    println!("{}", x.x);
     x.drop();   //~ ERROR explicit use of destructor method
 }
diff --git a/src/test/ui/explicit/explicit-call-to-dtor.stderr b/src/test/ui/explicit/explicit-call-to-dtor.stderr
index 5ebe4ee4b90..f3c9bf6cccd 100644
--- a/src/test/ui/explicit/explicit-call-to-dtor.stderr
+++ b/src/test/ui/explicit/explicit-call-to-dtor.stderr
@@ -1,11 +1,11 @@
 error[E0040]: explicit use of destructor method
-  --> $DIR/explicit-call-to-dtor.rs:13:7
+  --> $DIR/explicit-call-to-dtor.rs:15:7
    |
 LL |     x.drop();
-   |       ^^^^
-   |       |
-   |       explicit destructor calls not allowed
-   |       help: consider using `drop` function: `drop(x)`
+   |     --^^^^--
+   |     | |
+   |     | explicit destructor calls not allowed
+   |     help: consider using `drop` function: `drop(x)`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/explicit/explicit-call-to-supertrait-dtor.fixed b/src/test/ui/explicit/explicit-call-to-supertrait-dtor.fixed
new file mode 100644
index 00000000000..47c4c9f67b6
--- /dev/null
+++ b/src/test/ui/explicit/explicit-call-to-supertrait-dtor.fixed
@@ -0,0 +1,26 @@
+// run-rustfix
+struct Foo {
+    x: isize
+}
+
+#[allow(drop_bounds)]
+trait Bar: Drop {
+    fn blah(&self);
+}
+
+impl Drop for Foo {
+    fn drop(&mut self) {
+        println!("kaboom");
+    }
+}
+
+impl Bar for Foo {
+    fn blah(&self) {
+        drop(self);    //~ ERROR explicit use of destructor method
+    }
+}
+
+fn main() {
+    let x = Foo { x: 3 };
+    println!("{}", x.x);
+}
diff --git a/src/test/ui/explicit/explicit-call-to-supertrait-dtor.rs b/src/test/ui/explicit/explicit-call-to-supertrait-dtor.rs
index ff56b9a8ae4..c698de50c75 100644
--- a/src/test/ui/explicit/explicit-call-to-supertrait-dtor.rs
+++ b/src/test/ui/explicit/explicit-call-to-supertrait-dtor.rs
@@ -1,8 +1,10 @@
+// run-rustfix
 struct Foo {
     x: isize
 }
 
-trait Bar : Drop {
+#[allow(drop_bounds)]
+trait Bar: Drop {
     fn blah(&self);
 }
 
@@ -20,4 +22,5 @@ impl Bar for Foo {
 
 fn main() {
     let x = Foo { x: 3 };
+    println!("{}", x.x);
 }
diff --git a/src/test/ui/explicit/explicit-call-to-supertrait-dtor.stderr b/src/test/ui/explicit/explicit-call-to-supertrait-dtor.stderr
index cd3fb3119a5..7f5106eb57e 100644
--- a/src/test/ui/explicit/explicit-call-to-supertrait-dtor.stderr
+++ b/src/test/ui/explicit/explicit-call-to-supertrait-dtor.stderr
@@ -1,11 +1,11 @@
 error[E0040]: explicit use of destructor method
-  --> $DIR/explicit-call-to-supertrait-dtor.rs:17:14
+  --> $DIR/explicit-call-to-supertrait-dtor.rs:19:14
    |
 LL |         self.drop();
-   |              ^^^^
-   |              |
-   |              explicit destructor calls not allowed
-   |              help: consider using `drop` function: `drop(self)`
+   |         -----^^^^--
+   |         |    |
+   |         |    explicit destructor calls not allowed
+   |         help: consider using `drop` function: `drop(self)`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/extern/extern-compare-with-return-type.rs b/src/test/ui/extern/extern-compare-with-return-type.rs
index 1ddfc77a4c4..42693d3a061 100644
--- a/src/test/ui/extern/extern-compare-with-return-type.rs
+++ b/src/test/ui/extern/extern-compare-with-return-type.rs
@@ -1,4 +1,5 @@
 // run-pass
+
 // Tests that we can compare various kinds of extern fn signatures.
 #![allow(non_camel_case_types)]
 
diff --git a/src/test/ui/issues/issue-10763.rs b/src/test/ui/extern/issue-10763.rs
index 627a8c2384c..627a8c2384c 100644
--- a/src/test/ui/issues/issue-10763.rs
+++ b/src/test/ui/extern/issue-10763.rs
diff --git a/src/test/ui/issues/issue-10764-rpass.rs b/src/test/ui/extern/issue-10764-rpass.rs
index 42ed1ae93b5..42ed1ae93b5 100644
--- a/src/test/ui/issues/issue-10764-rpass.rs
+++ b/src/test/ui/extern/issue-10764-rpass.rs
diff --git a/src/test/ui/feature-gates/feature-gate-cfg-version.rs b/src/test/ui/feature-gates/feature-gate-cfg-version.rs
index c29ef99945e..e35784a68d1 100644
--- a/src/test/ui/feature-gates/feature-gate-cfg-version.rs
+++ b/src/test/ui/feature-gates/feature-gate-cfg-version.rs
@@ -1,3 +1,9 @@
+#[cfg(version(42))] //~ ERROR: expected a version literal
+//~^ ERROR `cfg(version)` is experimental and subject to change
+fn foo() {}
+#[cfg(version(1.20))] //~ ERROR: expected a version literal
+//~^ ERROR `cfg(version)` is experimental and subject to change
+fn foo() -> bool { true }
 #[cfg(version("1.44"))]
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn foo() -> bool { true }
@@ -11,30 +17,32 @@ fn bar() -> bool  { false }
 #[cfg(version(false))] //~ ERROR: expected a version literal
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn bar() -> bool  { false }
-#[cfg(version("foo"))] //~ ERROR: invalid version literal
+#[cfg(version("foo"))] //~ WARNING: unknown version literal format
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn bar() -> bool  { false }
-#[cfg(version("999"))]
+#[cfg(version("999"))] //~ WARNING: unknown version literal format
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn bar() -> bool  { false }
-#[cfg(version("-1"))] //~ ERROR: invalid version literal
+#[cfg(version("-1"))] //~ WARNING: unknown version literal format
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn bar() -> bool  { false }
-#[cfg(version("65536"))] //~ ERROR: invalid version literal
+#[cfg(version("65536"))] //~ WARNING: unknown version literal format
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn bar() -> bool  { false }
-#[cfg(version("0"))]
+#[cfg(version("0"))] //~ WARNING: unknown version literal format
 //~^ ERROR `cfg(version)` is experimental and subject to change
 fn bar() -> bool { true }
-
-#[cfg(version("1.65536.2"))]
+#[cfg(version("1.0"))]
+//~^ ERROR `cfg(version)` is experimental and subject to change
+fn bar() -> bool { true }
+#[cfg(version("1.65536.2"))] //~ WARNING: unknown version literal format
+//~^ ERROR `cfg(version)` is experimental and subject to change
+fn bar() -> bool  { false }
+#[cfg(version("1.20.0-stable"))] //~ WARNING: unknown version literal format
 //~^ ERROR `cfg(version)` is experimental and subject to change
-fn version_check_bug() {}
+fn bar() {}
 
 fn main() {
-    // This should fail but due to a bug in version_check `1.65536.2` is interpreted as `1.2`.
-    // See https://github.com/SergioBenitez/version_check/issues/11
-    version_check_bug();
     assert!(foo());
     assert!(bar());
     assert!(cfg!(version("1.42"))); //~ ERROR `cfg(version)` is experimental and subject to change
diff --git a/src/test/ui/feature-gates/feature-gate-cfg-version.stderr b/src/test/ui/feature-gates/feature-gate-cfg-version.stderr
index bdf160b5a02..ae899d409ec 100644
--- a/src/test/ui/feature-gates/feature-gate-cfg-version.stderr
+++ b/src/test/ui/feature-gates/feature-gate-cfg-version.stderr
@@ -1,6 +1,36 @@
 error[E0658]: `cfg(version)` is experimental and subject to change
   --> $DIR/feature-gate-cfg-version.rs:1:7
    |
+LL | #[cfg(version(42))]
+   |       ^^^^^^^^^^^
+   |
+   = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
+   = help: add `#![feature(cfg_version)]` to the crate attributes to enable
+
+error: expected a version literal
+  --> $DIR/feature-gate-cfg-version.rs:1:15
+   |
+LL | #[cfg(version(42))]
+   |               ^^
+
+error[E0658]: `cfg(version)` is experimental and subject to change
+  --> $DIR/feature-gate-cfg-version.rs:4:7
+   |
+LL | #[cfg(version(1.20))]
+   |       ^^^^^^^^^^^^^
+   |
+   = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
+   = help: add `#![feature(cfg_version)]` to the crate attributes to enable
+
+error: expected a version literal
+  --> $DIR/feature-gate-cfg-version.rs:4:15
+   |
+LL | #[cfg(version(1.20))]
+   |               ^^^^
+
+error[E0658]: `cfg(version)` is experimental and subject to change
+  --> $DIR/feature-gate-cfg-version.rs:7:7
+   |
 LL | #[cfg(version("1.44"))]
    |       ^^^^^^^^^^^^^^^
    |
@@ -8,7 +38,7 @@ LL | #[cfg(version("1.44"))]
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:4:11
+  --> $DIR/feature-gate-cfg-version.rs:10:11
    |
 LL | #[cfg(not(version("1.44")))]
    |           ^^^^^^^^^^^^^^^
@@ -17,7 +47,7 @@ LL | #[cfg(not(version("1.44")))]
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:8:7
+  --> $DIR/feature-gate-cfg-version.rs:14:7
    |
 LL | #[cfg(version("1.43", "1.44", "1.45"))]
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -26,13 +56,13 @@ LL | #[cfg(version("1.43", "1.44", "1.45"))]
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
 error: expected single version literal
-  --> $DIR/feature-gate-cfg-version.rs:8:7
+  --> $DIR/feature-gate-cfg-version.rs:14:7
    |
 LL | #[cfg(version("1.43", "1.44", "1.45"))]
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:11:7
+  --> $DIR/feature-gate-cfg-version.rs:17:7
    |
 LL | #[cfg(version(false))]
    |       ^^^^^^^^^^^^^^
@@ -41,13 +71,13 @@ LL | #[cfg(version(false))]
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
 error: expected a version literal
-  --> $DIR/feature-gate-cfg-version.rs:11:15
+  --> $DIR/feature-gate-cfg-version.rs:17:15
    |
 LL | #[cfg(version(false))]
    |               ^^^^^
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:14:7
+  --> $DIR/feature-gate-cfg-version.rs:20:7
    |
 LL | #[cfg(version("foo"))]
    |       ^^^^^^^^^^^^^^
@@ -55,14 +85,14 @@ LL | #[cfg(version("foo"))]
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
-error: invalid version literal
-  --> $DIR/feature-gate-cfg-version.rs:14:15
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:20:15
    |
 LL | #[cfg(version("foo"))]
    |               ^^^^^
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:17:7
+  --> $DIR/feature-gate-cfg-version.rs:23:7
    |
 LL | #[cfg(version("999"))]
    |       ^^^^^^^^^^^^^^
@@ -70,8 +100,14 @@ LL | #[cfg(version("999"))]
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:23:15
+   |
+LL | #[cfg(version("999"))]
+   |               ^^^^^
+
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:20:7
+  --> $DIR/feature-gate-cfg-version.rs:26:7
    |
 LL | #[cfg(version("-1"))]
    |       ^^^^^^^^^^^^^
@@ -79,14 +115,14 @@ LL | #[cfg(version("-1"))]
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
-error: invalid version literal
-  --> $DIR/feature-gate-cfg-version.rs:20:15
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:26:15
    |
 LL | #[cfg(version("-1"))]
    |               ^^^^
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:23:7
+  --> $DIR/feature-gate-cfg-version.rs:29:7
    |
 LL | #[cfg(version("65536"))]
    |       ^^^^^^^^^^^^^^^^
@@ -94,14 +130,14 @@ LL | #[cfg(version("65536"))]
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
-error: invalid version literal
-  --> $DIR/feature-gate-cfg-version.rs:23:15
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:29:15
    |
 LL | #[cfg(version("65536"))]
    |               ^^^^^^^
 
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:26:7
+  --> $DIR/feature-gate-cfg-version.rs:32:7
    |
 LL | #[cfg(version("0"))]
    |       ^^^^^^^^^^^^
@@ -109,8 +145,23 @@ LL | #[cfg(version("0"))]
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:32:15
+   |
+LL | #[cfg(version("0"))]
+   |               ^^^
+
+error[E0658]: `cfg(version)` is experimental and subject to change
+  --> $DIR/feature-gate-cfg-version.rs:35:7
+   |
+LL | #[cfg(version("1.0"))]
+   |       ^^^^^^^^^^^^^^
+   |
+   = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
+   = help: add `#![feature(cfg_version)]` to the crate attributes to enable
+
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:30:7
+  --> $DIR/feature-gate-cfg-version.rs:38:7
    |
 LL | #[cfg(version("1.65536.2"))]
    |       ^^^^^^^^^^^^^^^^^^^^
@@ -118,8 +169,29 @@ LL | #[cfg(version("1.65536.2"))]
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:38:15
+   |
+LL | #[cfg(version("1.65536.2"))]
+   |               ^^^^^^^^^^^
+
+error[E0658]: `cfg(version)` is experimental and subject to change
+  --> $DIR/feature-gate-cfg-version.rs:41:7
+   |
+LL | #[cfg(version("1.20.0-stable"))]
+   |       ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
+   = help: add `#![feature(cfg_version)]` to the crate attributes to enable
+
+warning: unknown version literal format, assuming it refers to a future version
+  --> $DIR/feature-gate-cfg-version.rs:41:15
+   |
+LL | #[cfg(version("1.20.0-stable"))]
+   |               ^^^^^^^^^^^^^^^
+
 error[E0658]: `cfg(version)` is experimental and subject to change
-  --> $DIR/feature-gate-cfg-version.rs:40:18
+  --> $DIR/feature-gate-cfg-version.rs:48:18
    |
 LL |     assert!(cfg!(version("1.42")));
    |                  ^^^^^^^^^^^^^^^
@@ -127,6 +199,6 @@ LL |     assert!(cfg!(version("1.42")));
    = note: see issue #64796 <https://github.com/rust-lang/rust/issues/64796> for more information
    = help: add `#![feature(cfg_version)]` to the crate attributes to enable
 
-error: aborting due to 16 previous errors
+error: aborting due to 19 previous errors; 7 warnings emitted
 
 For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.rs b/src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.rs
deleted file mode 100644
index 5ed302bbff3..00000000000
--- a/src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![allow(warnings)]
-
-struct Bar;
-
-// This function would compile with the feature gate, and tests that it is suggested.
-fn foo() {
-    let arr: [Option<String>; 2] = [None::<String>; 2];
-    //~^ ERROR the trait bound `Option<String>: Copy` is not satisfied [E0277]
-}
-
-// This function would not compile with the feature gate, and tests that it is not suggested.
-fn bar() {
-    let arr: [Option<String>; 2] = [Some("foo".to_string()); 2];
-    //~^ ERROR the trait bound `Option<String>: Copy` is not satisfied [E0277]
-}
-
-fn main() {}
diff --git a/src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.stderr b/src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.stderr
deleted file mode 100644
index ca1706169af..00000000000
--- a/src/test/ui/feature-gates/feature-gate-const_in_array_repeat_expressions.stderr
+++ /dev/null
@@ -1,25 +0,0 @@
-error[E0277]: the trait bound `Option<String>: Copy` is not satisfied
-  --> $DIR/feature-gate-const_in_array_repeat_expressions.rs:7:36
-   |
-LL |     let arr: [Option<String>; 2] = [None::<String>; 2];
-   |                                    ^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Option<String>`
-   |
-   = help: the following implementations were found:
-             <Option<T> as Copy>
-   = note: the `Copy` trait is required because the repeated element will be copied
-   = note: this array initializer can be evaluated at compile-time, see issue #49147 <https://github.com/rust-lang/rust/issues/49147> for more information
-   = help: add `#![feature(const_in_array_repeat_expressions)]` to the crate attributes to enable
-
-error[E0277]: the trait bound `Option<String>: Copy` is not satisfied
-  --> $DIR/feature-gate-const_in_array_repeat_expressions.rs:13:36
-   |
-LL |     let arr: [Option<String>; 2] = [Some("foo".to_string()); 2];
-   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Option<String>`
-   |
-   = help: the following implementations were found:
-             <Option<T> as Copy>
-   = note: the `Copy` trait is required because the repeated element will be copied
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr b/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr
index 05547595234..e079c2ddcee 100644
--- a/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr
+++ b/src/test/ui/feature-gates/feature-gate-exhaustive-patterns.stderr
@@ -11,7 +11,7 @@ LL |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |
    = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
-   = note: the matched value is of type `std::result::Result<u32, !>`
+   = note: the matched value is of type `Result<u32, !>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
 LL |     if let Ok(_x) = foo() { /* */ }
diff --git a/src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.rs b/src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.rs
new file mode 100644
index 00000000000..0cfd0a0b978
--- /dev/null
+++ b/src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.rs
@@ -0,0 +1,10 @@
+// Test that we allow unsizing even if there is an unchanged param in the
+// field getting unsized.
+struct A<T, U: ?Sized + 'static>(T, B<T, U>);
+struct B<T, U: ?Sized>(T, U);
+
+fn main() {
+    let x: A<[u32; 1], [u32; 1]> = A([0; 1], B([0; 1], [0; 1]));
+    let y: &A<[u32; 1], [u32]> = &x; //~ ERROR mismatched types
+    assert_eq!(y.1.1.len(), 1);
+}
diff --git a/src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.stderr b/src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.stderr
new file mode 100644
index 00000000000..f62def47726
--- /dev/null
+++ b/src/test/ui/feature-gates/feature-gate-relaxed_struct_unsize.stderr
@@ -0,0 +1,14 @@
+error[E0308]: mismatched types
+  --> $DIR/feature-gate-relaxed_struct_unsize.rs:8:34
+   |
+LL |     let y: &A<[u32; 1], [u32]> = &x;
+   |            -------------------   ^^ expected slice `[u32]`, found array `[u32; 1]`
+   |            |
+   |            expected due to this
+   |
+   = note: expected reference `&A<[u32; 1], [u32]>`
+              found reference `&A<[u32; 1], [u32; 1]>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/fmt/format-args-capture.rs b/src/test/ui/fmt/format-args-capture.rs
index 4e3fa9a3c58..d5886a13558 100644
--- a/src/test/ui/fmt/format-args-capture.rs
+++ b/src/test/ui/fmt/format-args-capture.rs
@@ -31,7 +31,7 @@ fn panic_with_single_argument_does_not_get_formatted() {
     // RFC #2795 suggests that this may need to change so that captured arguments are formatted.
     // For stability reasons this will need to part of an edition change.
 
-    #[allow(panic_fmt)]
+    #[allow(non_fmt_panic)]
     let msg = std::panic::catch_unwind(|| {
         panic!("{foo}");
     }).unwrap_err();
diff --git a/src/test/ui/issues/issue-2216.rs b/src/test/ui/for-loop-while/issue-2216.rs
index ad54107423d..ad54107423d 100644
--- a/src/test/ui/issues/issue-2216.rs
+++ b/src/test/ui/for-loop-while/issue-2216.rs
diff --git a/src/test/ui/issues/issue-69841.rs b/src/test/ui/for-loop-while/issue-69841.rs
index 1aca16ca804..1aca16ca804 100644
--- a/src/test/ui/issues/issue-69841.rs
+++ b/src/test/ui/for-loop-while/issue-69841.rs
diff --git a/src/test/ui/generator/ref-escapes-but-not-over-yield.stderr b/src/test/ui/generator/ref-escapes-but-not-over-yield.stderr
index 9986220218e..5fc81004098 100644
--- a/src/test/ui/generator/ref-escapes-but-not-over-yield.stderr
+++ b/src/test/ui/generator/ref-escapes-but-not-over-yield.stderr
@@ -12,3 +12,4 @@ LL |         a = &b;
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/generator/type-mismatch-signature-deduction.stderr b/src/test/ui/generator/type-mismatch-signature-deduction.stderr
index 4abc0542c51..30e23ea8f65 100644
--- a/src/test/ui/generator/type-mismatch-signature-deduction.stderr
+++ b/src/test/ui/generator/type-mismatch-signature-deduction.stderr
@@ -2,11 +2,11 @@ error[E0308]: mismatched types
   --> $DIR/type-mismatch-signature-deduction.rs:13:9
    |
 LL |         5
-   |         ^ expected enum `std::result::Result`, found integer
+   |         ^ expected enum `Result`, found integer
    |
-   = note: expected type `std::result::Result<{integer}, _>`
+   = note: expected type `Result<{integer}, _>`
               found type `{integer}`
-note: return type inferred to be `std::result::Result<{integer}, _>` here
+note: return type inferred to be `Result<{integer}, _>` here
   --> $DIR/type-mismatch-signature-deduction.rs:8:20
    |
 LL |             return Ok(6);
@@ -16,9 +16,9 @@ error[E0271]: type mismatch resolving `<[generator@$DIR/type-mismatch-signature-
   --> $DIR/type-mismatch-signature-deduction.rs:5:13
    |
 LL | fn foo() -> impl Generator<Return = i32> {
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found `i32`
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Result`, found `i32`
    |
-   = note: expected enum `std::result::Result<{integer}, _>`
+   = note: expected enum `Result<{integer}, _>`
               found type `i32`
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs
new file mode 100644
index 00000000000..2c543455b6e
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.rs
@@ -0,0 +1,12 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait X {
+  type Y<'x>;
+}
+
+fn main() {
+  fn _f(arg : Box<dyn for<'a> X<Y<'x> = &'a [u32]>>) {}
+    //~^ ERROR: use of undeclared lifetime name `'x`
+    //~| ERROR: binding for associated type `Y` references lifetime
+}
diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr
new file mode 100644
index 00000000000..1c7c107d783
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-in-trait-path-undeclared-lifetime.stderr
@@ -0,0 +1,29 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0261]: use of undeclared lifetime name `'x`
+  --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:9:35
+   |
+LL |   fn _f(arg : Box<dyn for<'a> X<Y<'x> = &'a [u32]>>) {}
+   |        -                          ^^ undeclared lifetime
+   |        |
+   |        help: consider introducing lifetime `'x` here: `<'x>`
+   |
+   = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes
+
+error[E0582]: binding for associated type `Y` references lifetime `'a`, which does not appear in the trait input types
+  --> $DIR/gat-in-trait-path-undeclared-lifetime.rs:9:33
+   |
+LL |   fn _f(arg : Box<dyn for<'a> X<Y<'x> = &'a [u32]>>) {}
+   |                                 ^^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+Some errors have detailed explanations: E0261, E0582.
+For more information about an error, try `rustc --explain E0261`.
diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path.rs b/src/test/ui/generic-associated-types/gat-in-trait-path.rs
new file mode 100644
index 00000000000..2dbd1840dec
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-in-trait-path.rs
@@ -0,0 +1,30 @@
+// check-pass
+
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+#![feature(associated_type_defaults)]
+
+trait Foo {
+    type A<'a> where Self: 'a;
+}
+
+struct Fooy;
+
+impl Foo for Fooy {
+    type A<'a> = &'a ();
+}
+
+#[derive(Clone)]
+struct Fooer<T>(T);
+
+impl<T> Foo for Fooer<T> {
+    type A<'x> where T: 'x = &'x ();
+}
+
+fn f(_arg : Box<dyn for<'a> Foo<A<'a> = &'a ()>>) {}
+
+
+fn main() {
+  let foo = Fooer(5);
+  f(Box::new(foo));
+}
diff --git a/src/test/ui/generic-associated-types/gat-in-trait-path.stderr b/src/test/ui/generic-associated-types/gat-in-trait-path.stderr
new file mode 100644
index 00000000000..f3769827f04
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-in-trait-path.stderr
@@ -0,0 +1,11 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/gat-in-trait-path.rs:3:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs
new file mode 100644
index 00000000000..cff5a21052f
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.rs
@@ -0,0 +1,16 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait Foo {
+    type F<'a>;
+
+    fn identity<'a>(t: &'a Self::F<'a>) -> &'a Self::F<'a> { t }
+}
+
+impl <T, T1> Foo for T {
+    type F<T1> = &[u8];
+      //~^ ERROR: the name `T1` is already used for
+      //~| ERROR: missing lifetime specifier
+}
+
+fn main() {}
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr
new file mode 100644
index 00000000000..e83af1d0c73
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-generic-type-arg.stderr
@@ -0,0 +1,32 @@
+error[E0403]: the name `T1` is already used for a generic parameter in this item's generic parameters
+  --> $DIR/gat-trait-path-generic-type-arg.rs:11:12
+   |
+LL | impl <T, T1> Foo for T {
+   |          -- first use of `T1`
+LL |     type F<T1> = &[u8];
+   |            ^^ already used
+
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/gat-trait-path-generic-type-arg.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0106]: missing lifetime specifier
+  --> $DIR/gat-trait-path-generic-type-arg.rs:11:18
+   |
+LL |     type F<T1> = &[u8];
+   |                  ^ expected named lifetime parameter
+   |
+help: consider introducing a named lifetime parameter
+   |
+LL |     type F<'a, T1> = &'a [u8];
+   |            ^^^       ^^^
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+Some errors have detailed explanations: E0106, E0403.
+For more information about an error, try `rustc --explain E0106`.
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs
new file mode 100644
index 00000000000..e69e355ba48
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs
@@ -0,0 +1,18 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait X {
+  type Y<'a>;
+    //~^ ERROR missing generics for
+    //~| ERROR missing generics for
+
+  fn foo<'a>(t : Self::Y<'a>) -> Self::Y<'a> { t }
+}
+
+impl<T> X for T {
+  fn foo<'a, T1: X<Y = T1>>(t : T1) -> T1::Y<'a> {
+    t
+  }
+}
+
+fn main() {}
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr
new file mode 100644
index 00000000000..9c6e2ce3e17
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr
@@ -0,0 +1,44 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/gat-trait-path-missing-lifetime.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0107]: missing generics for associated type `X::Y`
+  --> $DIR/gat-trait-path-missing-lifetime.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/gat-trait-path-missing-lifetime.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^ --
+help: use angle brackets to add missing lifetime argument
+   |
+LL |   type Y<'a><'a>;
+   |         ^^^^
+
+error[E0107]: missing generics for associated type `X::Y`
+  --> $DIR/gat-trait-path-missing-lifetime.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/gat-trait-path-missing-lifetime.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^ --
+help: use angle brackets to add missing lifetime argument
+   |
+LL |   type Y<'a><'a>;
+   |         ^^^^
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0107`.
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs
new file mode 100644
index 00000000000..bb1f27a17ca
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs
@@ -0,0 +1,15 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait X {
+  type Y<'a>;
+    //~^ ERROR this associated type
+    //~| ERROR this associated type
+}
+
+fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+  //~^ ERROR: lifetime in trait object type must be followed by `+`
+  //~| ERROR: parenthesized generic arguments cannot be used
+  //~| WARNING: trait objects without an explicit `dyn` are deprecated
+
+fn main() {}
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
new file mode 100644
index 00000000000..20cb6d88287
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
@@ -0,0 +1,68 @@
+error: lifetime in trait object type must be followed by `+`
+  --> $DIR/gat-trait-path-parenthesised-args.rs:10:29
+   |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+   |                             ^^
+
+error: parenthesized generic arguments cannot be used in associated type constraints
+  --> $DIR/gat-trait-path-parenthesised-args.rs:10:27
+   |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+   |                           ^^^^^
+
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/gat-trait-path-parenthesised-args.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+warning: trait objects without an explicit `dyn` are deprecated
+  --> $DIR/gat-trait-path-parenthesised-args.rs:10:29
+   |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+   |                             ^^ help: use `dyn`: `dyn 'a`
+   |
+   = note: `#[warn(bare_trait_objects)]` on by default
+
+error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied
+  --> $DIR/gat-trait-path-parenthesised-args.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/gat-trait-path-parenthesised-args.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^ --
+help: add missing lifetime argument
+   |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a'a) = &'a ()>>) {}
+   |                             ^^
+
+error[E0107]: this associated type takes 0 type arguments but 1 type argument was supplied
+  --> $DIR/gat-trait-path-parenthesised-args.rs:5:8
+   |
+LL |     type Y<'a>;
+   |  ________^-
+   | |        |
+   | |        expected 0 type arguments
+LL | |
+LL | |
+LL | | }
+LL | |
+LL | | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+   | |_________________________________________- help: remove these generics
+   |
+note: associated type defined here, with 0 type parameters
+  --> $DIR/gat-trait-path-parenthesised-args.rs:5:8
+   |
+LL |   type Y<'a>;
+   |        ^
+
+error: aborting due to 4 previous errors; 2 warnings emitted
+
+For more information about this error, try `rustc --explain E0107`.
diff --git a/src/test/ui/generic-associated-types/issue-67510-pass.rs b/src/test/ui/generic-associated-types/issue-67510-pass.rs
new file mode 100644
index 00000000000..ff38b3e93eb
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-67510-pass.rs
@@ -0,0 +1,12 @@
+// check-pass
+
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait X {
+    type Y<'a>;
+}
+
+fn _func1<'a>(_x: Box<dyn X<Y<'a>=&'a ()>>) {}
+
+fn main() {}
diff --git a/src/test/ui/generic-associated-types/issue-67510-pass.stderr b/src/test/ui/generic-associated-types/issue-67510-pass.stderr
new file mode 100644
index 00000000000..0fbf704df76
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-67510-pass.stderr
@@ -0,0 +1,11 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-67510-pass.rs:3:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/generic-associated-types/issue-67510.rs b/src/test/ui/generic-associated-types/issue-67510.rs
new file mode 100644
index 00000000000..62b22089f91
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-67510.rs
@@ -0,0 +1,13 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait X {
+    type Y<'a>;
+}
+
+fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {}
+  //~^ ERROR: use of undeclared lifetime name `'a`
+  //~| ERROR: use of undeclared lifetime name `'a`
+
+
+fn main() {}
diff --git a/src/test/ui/generic-associated-types/issue-67510.stderr b/src/test/ui/generic-associated-types/issue-67510.stderr
new file mode 100644
index 00000000000..12755c56974
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-67510.stderr
@@ -0,0 +1,32 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-67510.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0261]: use of undeclared lifetime name `'a`
+  --> $DIR/issue-67510.rs:8:21
+   |
+LL | fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {}
+   |     -               ^^ undeclared lifetime
+   |     |
+   |     help: consider introducing lifetime `'a` here: `<'a>`
+   |
+   = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes
+
+error[E0261]: use of undeclared lifetime name `'a`
+  --> $DIR/issue-67510.rs:8:26
+   |
+LL | fn f(x: Box<dyn X<Y<'a>=&'a ()>>) {}
+   |     -                    ^^ undeclared lifetime
+   |     |
+   |     help: consider introducing lifetime `'a` here: `<'a>`
+   |
+   = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0261`.
diff --git a/src/test/ui/generic-associated-types/issue-68648-1.rs b/src/test/ui/generic-associated-types/issue-68648-1.rs
new file mode 100644
index 00000000000..f294b22f73c
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-68648-1.rs
@@ -0,0 +1,26 @@
+// check-pass
+
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+
+trait Fun {
+    type F<'a>;
+
+    fn identity<'a>(t: Self::F<'a>) -> Self::F<'a> { t }
+}
+
+impl <T> Fun for T {
+    type F<'a> = Self;
+}
+
+fn bug<'a, T: for<'b> Fun<F<'b> = T>>(t: T) -> T::F<'a> {
+    T::identity(t)
+}
+
+
+fn main() {
+    let x = 10;
+
+    bug(x);
+}
diff --git a/src/test/ui/generic-associated-types/issue-68648-1.stderr b/src/test/ui/generic-associated-types/issue-68648-1.stderr
new file mode 100644
index 00000000000..322a8f9e13f
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-68648-1.stderr
@@ -0,0 +1,11 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-68648-1.rs:3:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/generic-associated-types/issue-68648-2.rs b/src/test/ui/generic-associated-types/issue-68648-2.rs
new file mode 100644
index 00000000000..e55bfcd4ba2
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-68648-2.rs
@@ -0,0 +1,24 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait Fun {
+    type F<'a>;
+
+    fn identity<'a>(t: Self::F<'a>) -> Self::F<'a> { t }
+}
+
+impl <T> Fun for T {
+    type F<'a> = Self;
+}
+
+fn bug<'a, T: Fun<F<'a> = T>>(t: T) -> T::F<'a> {
+    T::identity(())
+      //~^ ERROR: mismatched types
+}
+
+
+fn main() {
+    let x = 10;
+
+    bug(x);
+}
diff --git a/src/test/ui/generic-associated-types/issue-68648-2.stderr b/src/test/ui/generic-associated-types/issue-68648-2.stderr
new file mode 100644
index 00000000000..b51e0bca9f7
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-68648-2.stderr
@@ -0,0 +1,23 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-68648-2.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0308]: mismatched types
+  --> $DIR/issue-68648-2.rs:15:17
+   |
+LL | fn bug<'a, T: Fun<F<'a> = T>>(t: T) -> T::F<'a> {
+   |            - this type parameter
+LL |     T::identity(())
+   |                 ^^ expected type parameter `T`, found `()`
+   |
+   = note: expected type parameter `T`
+                   found unit type `()`
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/generic-associated-types/issue-68649-pass.rs b/src/test/ui/generic-associated-types/issue-68649-pass.rs
new file mode 100644
index 00000000000..396315302f7
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-68649-pass.rs
@@ -0,0 +1,25 @@
+// check-pass
+
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait Fun {
+    type F<'a>;
+
+    fn identity<'a>(t: Self::F<'a>) -> Self::F<'a> { t }
+}
+
+impl <T> Fun for T {
+    type F<'a> = Self;
+}
+
+fn bug<'a, T: Fun<F<'a> = T>>(t: T) -> T::F<'a> {
+    T::identity(t)
+}
+
+
+fn main() {
+    let x = 10;
+
+    bug(x);
+}
diff --git a/src/test/ui/generic-associated-types/issue-68649-pass.stderr b/src/test/ui/generic-associated-types/issue-68649-pass.stderr
new file mode 100644
index 00000000000..e4a2f8d2a64
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-68649-pass.stderr
@@ -0,0 +1,11 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-68649-pass.rs:3:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/generic-associated-types/issue-74684-1.rs b/src/test/ui/generic-associated-types/issue-74684-1.rs
new file mode 100644
index 00000000000..a483da863ff
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-74684-1.rs
@@ -0,0 +1,26 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait Fun {
+    type F<'a>: ?Sized;
+
+    fn identity<'a>(t: &'a Self::F<'a>) -> &'a Self::F<'a> { t }
+}
+
+impl <T> Fun for T {
+    type F<'a> = [u8];
+}
+
+fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(_ : Box<T>) -> &'static T::F<'a> {
+    let a = [0; 1];
+    let _x = T::identity(&a);
+      //~^ ERROR: `a` does not live long enough
+    todo!()
+}
+
+
+fn main() {
+    let x = 10;
+
+    bug(Box::new(x));
+}
diff --git a/src/test/ui/generic-associated-types/issue-74684-1.stderr b/src/test/ui/generic-associated-types/issue-74684-1.stderr
new file mode 100644
index 00000000000..651da696827
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-74684-1.stderr
@@ -0,0 +1,27 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-74684-1.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0597]: `a` does not live long enough
+  --> $DIR/issue-74684-1.rs:16:26
+   |
+LL | fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(_ : Box<T>) -> &'static T::F<'a> {
+   |        -- lifetime `'a` defined here
+LL |     let a = [0; 1];
+LL |     let _x = T::identity(&a);
+   |              ------------^^-
+   |              |           |
+   |              |           borrowed value does not live long enough
+   |              argument requires that `a` is borrowed for `'a`
+...
+LL | }
+   | - `a` dropped here while still borrowed
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0597`.
diff --git a/src/test/ui/generic-associated-types/issue-74684-2.rs b/src/test/ui/generic-associated-types/issue-74684-2.rs
new file mode 100644
index 00000000000..0caf19cb030
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-74684-2.rs
@@ -0,0 +1,26 @@
+#![feature(generic_associated_types)]
+  //~^ WARNING: the feature `generic_associated_types` is incomplete
+
+trait Fun {
+    type F<'a>: ?Sized;
+
+    fn identity<'a>(t: &'a Self::F<'a>) -> &'a Self::F<'a> { t }
+}
+
+impl <T> Fun for T {
+    type F<'a> = i32;
+}
+
+fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(t: Box<T>) -> &'static T::F<'a> {
+    let a = [0; 1];
+    let x = T::identity(&a);
+    todo!()
+}
+
+
+fn main() {
+    let x = 10;
+
+    bug(Box::new(x));
+      //~^ ERROR: type mismatch resolving `<{integer} as Fun>::F<'_> == [u8]`
+}
diff --git a/src/test/ui/generic-associated-types/issue-74684-2.stderr b/src/test/ui/generic-associated-types/issue-74684-2.stderr
new file mode 100644
index 00000000000..8c3484f9a73
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-74684-2.stderr
@@ -0,0 +1,21 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-74684-2.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0271]: type mismatch resolving `<{integer} as Fun>::F<'_> == [u8]`
+  --> $DIR/issue-74684-2.rs:24:5
+   |
+LL | fn bug<'a, T: ?Sized + Fun<F<'a> = [u8]>>(t: Box<T>) -> &'static T::F<'a> {
+   |                            ------------ required by this bound in `bug`
+...
+LL |     bug(Box::new(x));
+   |     ^^^ expected slice `[u8]`, found `i32`
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0271`.
diff --git a/src/test/ui/generic-associated-types/issue-76535.rs b/src/test/ui/generic-associated-types/issue-76535.rs
new file mode 100644
index 00000000000..2b4757d8d15
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-76535.rs
@@ -0,0 +1,41 @@
+#![feature(generic_associated_types)]
+ //~^ WARNING the feature
+
+pub trait SubTrait {}
+
+pub trait SuperTrait {
+    type SubType<'a>: SubTrait;
+      //~^ ERROR missing generics for associated
+
+    fn get_sub<'a>(&'a mut self) -> Self::SubType<'a>;
+}
+
+pub struct SubStruct<'a> {
+    sup: &'a mut SuperStruct,
+}
+
+impl<'a> SubTrait for SubStruct<'a> {}
+
+pub struct SuperStruct {
+    value: u8,
+}
+
+impl SuperStruct {
+    pub fn new(value: u8) -> SuperStruct {
+        SuperStruct { value }
+    }
+}
+
+impl SuperTrait for SuperStruct {
+    type SubType<'a> = SubStruct<'a>;
+
+    fn get_sub<'a>(&'a mut self) -> Self::SubType<'a> {
+        SubStruct { sup: self }
+    }
+}
+
+fn main() {
+    let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0));
+      //~^ ERROR the trait
+      //~| ERROR the trait
+}
diff --git a/src/test/ui/generic-associated-types/issue-76535.stderr b/src/test/ui/generic-associated-types/issue-76535.stderr
new file mode 100644
index 00000000000..ce4875af9c0
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-76535.stderr
@@ -0,0 +1,63 @@
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-76535.rs:1:12
+   |
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0107]: missing generics for associated type `SuperTrait::SubType`
+  --> $DIR/issue-76535.rs:7:10
+   |
+LL |     type SubType<'a>: SubTrait;
+   |          ^^^^^^^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/issue-76535.rs:7:10
+   |
+LL |     type SubType<'a>: SubTrait;
+   |          ^^^^^^^ --
+help: use angle brackets to add missing lifetime argument
+   |
+LL |     type SubType<'a><'a>: SubTrait;
+   |                 ^^^^
+
+error[E0038]: the trait `SuperTrait` cannot be made into an object
+  --> $DIR/issue-76535.rs:38:14
+   |
+LL |     let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0));
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SuperTrait` cannot be made into an object
+   |
+   = help: consider moving `get_sub` to another trait
+note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
+  --> $DIR/issue-76535.rs:10:37
+   |
+LL | pub trait SuperTrait {
+   |           ---------- this trait cannot be made into an object...
+...
+LL |     fn get_sub<'a>(&'a mut self) -> Self::SubType<'a>;
+   |                                     ^^^^^^^^^^^^^^^^^ ...because method `get_sub` references the `Self` type in its return type
+
+error[E0038]: the trait `SuperTrait` cannot be made into an object
+  --> $DIR/issue-76535.rs:38:57
+   |
+LL |     let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0));
+   |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SuperTrait` cannot be made into an object
+   |
+   = help: consider moving `get_sub` to another trait
+note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
+  --> $DIR/issue-76535.rs:10:37
+   |
+LL | pub trait SuperTrait {
+   |           ---------- this trait cannot be made into an object...
+...
+LL |     fn get_sub<'a>(&'a mut self) -> Self::SubType<'a>;
+   |                                     ^^^^^^^^^^^^^^^^^ ...because method `get_sub` references the `Self` type in its return type
+   = note: required because of the requirements on the impl of `CoerceUnsized<Box<dyn SuperTrait<SubType = SubStruct<'_>>>>` for `Box<SuperStruct>`
+   = note: required by cast to type `Box<dyn SuperTrait<SubType = SubStruct<'_>>>`
+
+error: aborting due to 3 previous errors; 1 warning emitted
+
+Some errors have detailed explanations: E0038, E0107.
+For more information about an error, try `rustc --explain E0038`.
diff --git a/src/test/ui/generic-associated-types/issue-79422.rs b/src/test/ui/generic-associated-types/issue-79422.rs
new file mode 100644
index 00000000000..26b38430dd9
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-79422.rs
@@ -0,0 +1,47 @@
+#![allow(incomplete_features)]
+#![feature(generic_associated_types)]
+
+trait RefCont<'a, T> {
+    fn t(&'a self) -> &'a T;
+}
+
+impl<'a, T> RefCont<'a, T> for &'a T {
+    fn t(&'a self) -> &'a T {
+        self
+    }
+}
+
+impl<'a, T> RefCont<'a, T> for Box<T> {
+    fn t(&'a self) -> &'a T {
+        self.as_ref()
+    }
+}
+
+trait MapLike<K, V> {
+    type VRefCont<'a>: RefCont<'a, V>;
+      //~^ ERROR missing generics
+    fn get<'a>(&'a self, key: &K) -> Option<Self::VRefCont<'a>>;
+}
+
+impl<K: Ord, V: 'static> MapLike<K, V> for std::collections::BTreeMap<K, V> {
+    type VRefCont<'a> = &'a V;
+    fn get<'a>(&'a self, key: &K) -> Option<&'a V> {
+        std::collections::BTreeMap::get(self, key)
+    }
+}
+
+struct Source;
+
+impl<K, V: Default> MapLike<K, V> for Source {
+    type VRefCont<'a> = Box<V>;
+    fn get<'a>(&self, _: &K) -> Option<Box<V>> {
+        Some(Box::new(V::default()))
+    }
+}
+
+fn main() {
+    let m = Box::new(std::collections::BTreeMap::<u8, u8>::new())
+        as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>;
+      //~^ ERROR the trait
+      //~^^^ ERROR the trait
+}
diff --git a/src/test/ui/generic-associated-types/issue-79422.stderr b/src/test/ui/generic-associated-types/issue-79422.stderr
new file mode 100644
index 00000000000..d2e12962715
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-79422.stderr
@@ -0,0 +1,54 @@
+error[E0107]: missing generics for associated type `MapLike::VRefCont`
+  --> $DIR/issue-79422.rs:21:10
+   |
+LL |     type VRefCont<'a>: RefCont<'a, V>;
+   |          ^^^^^^^^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/issue-79422.rs:21:10
+   |
+LL |     type VRefCont<'a>: RefCont<'a, V>;
+   |          ^^^^^^^^ --
+help: use angle brackets to add missing lifetime argument
+   |
+LL |     type VRefCont<'a><'a>: RefCont<'a, V>;
+   |                  ^^^^
+
+error[E0038]: the trait `MapLike` cannot be made into an object
+  --> $DIR/issue-79422.rs:44:12
+   |
+LL |         as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>;
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MapLike` cannot be made into an object
+   |
+   = help: consider moving `get` to another trait
+note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
+  --> $DIR/issue-79422.rs:23:38
+   |
+LL | trait MapLike<K, V> {
+   |       ------- this trait cannot be made into an object...
+...
+LL |     fn get<'a>(&'a self, key: &K) -> Option<Self::VRefCont<'a>>;
+   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...because method `get` references the `Self` type in its return type
+
+error[E0038]: the trait `MapLike` cannot be made into an object
+  --> $DIR/issue-79422.rs:43:13
+   |
+LL |     let m = Box::new(std::collections::BTreeMap::<u8, u8>::new())
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MapLike` cannot be made into an object
+   |
+   = help: consider moving `get` to another trait
+note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
+  --> $DIR/issue-79422.rs:23:38
+   |
+LL | trait MapLike<K, V> {
+   |       ------- this trait cannot be made into an object...
+...
+LL |     fn get<'a>(&'a self, key: &K) -> Option<Self::VRefCont<'a>>;
+   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ ...because method `get` references the `Self` type in its return type
+   = note: required because of the requirements on the impl of `CoerceUnsized<Box<dyn MapLike<u8, u8, VRefCont = (dyn RefCont<'_, u8> + 'static)>>>` for `Box<BTreeMap<u8, u8>>`
+   = note: required by cast to type `Box<dyn MapLike<u8, u8, VRefCont = (dyn RefCont<'_, u8> + 'static)>>`
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0038, E0107.
+For more information about an error, try `rustc --explain E0038`.
diff --git a/src/test/ui/generic-associated-types/issue-80433-reduced.rs b/src/test/ui/generic-associated-types/issue-80433-reduced.rs
new file mode 100644
index 00000000000..7c1673edc51
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-80433-reduced.rs
@@ -0,0 +1,24 @@
+// check-pass
+
+#![allow(incomplete_features)]
+#![feature(generic_associated_types)]
+
+struct E {}
+
+trait TestMut {
+    type Output<'a>;
+    fn test_mut(&mut self) -> Self::Output<'static>;
+}
+
+impl TestMut for E {
+    type Output<'a> = usize;
+    fn test_mut(&mut self) -> Self::Output<'static> {
+        todo!()
+    }
+}
+
+fn test_simpler<'a>(_: impl TestMut<Output<'a> = usize>) {}
+
+fn main() {
+    test_simpler(E {});
+}
diff --git a/src/test/ui/generic-associated-types/issue-80433.rs b/src/test/ui/generic-associated-types/issue-80433.rs
new file mode 100644
index 00000000000..ea65f05de23
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-80433.rs
@@ -0,0 +1,35 @@
+#![feature(generic_associated_types)]
+#![allow(incomplete_features)]
+
+#[derive(Default)]
+struct E<T> {
+    data: T,
+}
+
+trait TestMut {
+    type Output<'a>;
+      //~^ ERROR missing generics
+    fn test_mut<'a>(&'a mut self) -> Self::Output<'a>;
+}
+
+impl<T> TestMut for E<T>
+where
+    T: 'static,
+{
+    type Output<'a> = &'a mut T;
+    fn test_mut<'a>(&'a mut self) -> Self::Output<'a> {
+        &mut self.data
+    }
+}
+
+fn test_simpler<'a>(dst: &'a mut impl TestMut<Output = &'a mut f32>)
+{
+    for n in 0i16..100 {
+        *dst.test_mut() = n.into();
+    }
+}
+
+fn main() {
+    let mut t1: E<f32> = Default::default();
+    test_simpler(&mut t1);
+}
diff --git a/src/test/ui/generic-associated-types/issue-80433.stderr b/src/test/ui/generic-associated-types/issue-80433.stderr
new file mode 100644
index 00000000000..5398920fafd
--- /dev/null
+++ b/src/test/ui/generic-associated-types/issue-80433.stderr
@@ -0,0 +1,19 @@
+error[E0107]: missing generics for associated type `TestMut::Output`
+  --> $DIR/issue-80433.rs:10:10
+   |
+LL |     type Output<'a>;
+   |          ^^^^^^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/issue-80433.rs:10:10
+   |
+LL |     type Output<'a>;
+   |          ^^^^^^ --
+help: use angle brackets to add missing lifetime argument
+   |
+LL |     type Output<'a><'a>;
+   |                ^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0107`.
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr b/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr
index 051253cadc6..8abc4ccc9a5 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr
+++ b/src/test/ui/generic-associated-types/parse/trait-path-expected-token.stderr
@@ -2,7 +2,9 @@ error: expected one of `!`, `(`, `+`, `,`, `::`, `<`, or `>`, found `=`
   --> $DIR/trait-path-expected-token.rs:8:33
    |
 LL | fn f1<'a>(arg : Box<dyn X<Y = B = &'a ()>>) {}
-   |                                 ^ expected one of 7 possible tokens
+   |                               - ^ expected one of 7 possible tokens
+   |                               |
+   |                               maybe try to close unmatched angle bracket
 
 warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
   --> $DIR/trait-path-expected-token.rs:1:12
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs b/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs
index de61cfa1cf7..5e50c6b35c9 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs
+++ b/src/test/ui/generic-associated-types/parse/trait-path-expressions.rs
@@ -17,7 +17,7 @@ mod error2 {
   }
 
   fn f2<'a>(arg : Box<dyn X< { 1 } = 32 >>) {}
-    //~^ ERROR: only types can be used in associated type constraints
+    //~^ ERROR: expected one of
 }
 
 fn main() {}
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr b/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr
index a9ba8adcaba..27e1a750b21 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr
+++ b/src/test/ui/generic-associated-types/parse/trait-path-expressions.stderr
@@ -6,11 +6,13 @@ LL |   fn f1<'a>(arg : Box<dyn X< 1 = 32 >>) {}
    |                              |
    |                              while parsing a const generic argument starting here
 
-error: only types can be used in associated type constraints
-  --> $DIR/trait-path-expressions.rs:19:30
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/trait-path-expressions.rs:19:36
    |
 LL |   fn f2<'a>(arg : Box<dyn X< { 1 } = 32 >>) {}
-   |                              ^^^^^
+   |                                  - ^ expected one of `,`, `:`, or `>`
+   |                                  |
+   |                                  maybe try to close unmatched angle bracket
 
 warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
   --> $DIR/trait-path-expressions.rs:1:12
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr b/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr
index 8a5e2c29c36..f6038566e5b 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr
+++ b/src/test/ui/generic-associated-types/parse/trait-path-missing-gen_arg.stderr
@@ -28,7 +28,9 @@ error: expected one of `>`, a const expression, lifetime, or type, found `=`
   --> $DIR/trait-path-missing-gen_arg.rs:17:30
    |
 LL |   fn f1<'a>(arg : Box<dyn X< = 32 >>) {}
-   |                              ^ expected one of `>`, a const expression, lifetime, or type
+   |                            - ^ expected one of `>`, a const expression, lifetime, or type
+   |                            |
+   |                            maybe try to close unmatched angle bracket
 
 warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
   --> $DIR/trait-path-missing-gen_arg.rs:1:12
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-segments.rs b/src/test/ui/generic-associated-types/parse/trait-path-segments.rs
index 0bf48b1f418..eba30e1438f 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-segments.rs
+++ b/src/test/ui/generic-associated-types/parse/trait-path-segments.rs
@@ -7,7 +7,7 @@ const _: () = {
     }
 
     fn f1<'a>(arg : Box<dyn X<X::Y = u32>>) {}
-        //~^ ERROR: paths with multiple segments cannot be used in associated type constraints
+        //~^ ERROR: expected one of
   };
 
 const _: () = {
@@ -18,7 +18,7 @@ const _: () = {
     trait Z {}
 
     impl<T : X<<Self as X>::Y<'a> = &'a u32>> Z for T {}
-        //~^ ERROR: qualified paths cannot be used in associated type constraints
+        //~^ ERROR: expected one of
 };
 
 const _: () = {
@@ -29,7 +29,7 @@ const _: () = {
     trait Z {}
 
     impl<T : X<X::Y<'a> = &'a u32>> Z for T {}
-        //~^ ERROR: paths with multiple segments cannot be used in associated type constraints
+        //~^ ERROR: expected one of
 };
 
 fn main() {}
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr b/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr
index 4e2b84d0182..c82953aaed7 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr
+++ b/src/test/ui/generic-associated-types/parse/trait-path-segments.stderr
@@ -1,22 +1,26 @@
-error: paths with multiple segments cannot be used in associated type constraints
-  --> $DIR/trait-path-segments.rs:9:31
+error: expected one of `!`, `(`, `+`, `,`, `::`, `:`, `<`, or `>`, found `=`
+  --> $DIR/trait-path-segments.rs:9:36
    |
 LL |     fn f1<'a>(arg : Box<dyn X<X::Y = u32>>) {}
-   |                               ^^^^
+   |                                  - ^ expected one of 8 possible tokens
+   |                                  |
+   |                                  maybe try to close unmatched angle bracket
 
-error: qualified paths cannot be used in associated type constraints
-  --> $DIR/trait-path-segments.rs:20:16
+error: expected one of `,`, `::`, `:`, or `>`, found `=`
+  --> $DIR/trait-path-segments.rs:20:35
    |
 LL |     impl<T : X<<Self as X>::Y<'a> = &'a u32>> Z for T {}
-   |                ^^^^^^^^^-^^^^^^^^
-   |                         |
-   |                         not allowed in associated type constraints
+   |                                 - ^ expected one of `,`, `::`, `:`, or `>`
+   |                                 |
+   |                                 maybe try to close unmatched angle bracket
 
-error: paths with multiple segments cannot be used in associated type constraints
-  --> $DIR/trait-path-segments.rs:31:16
+error: expected one of `!`, `+`, `,`, `::`, `:`, or `>`, found `=`
+  --> $DIR/trait-path-segments.rs:31:25
    |
 LL |     impl<T : X<X::Y<'a> = &'a u32>> Z for T {}
-   |                ^^^^^^^^
+   |                       - ^ expected one of `!`, `+`, `,`, `::`, `:`, or `>`
+   |                       |
+   |                       maybe try to close unmatched angle bracket
 
 warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
   --> $DIR/trait-path-segments.rs:1:12
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs
index e203a5e0d2d..2d38770bcdf 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs
+++ b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs
@@ -1,10 +1,14 @@
 #![feature(generic_associated_types)]
+  //~^ the feature `generic_associated_types` is incomplete
 
 trait X {
     type Y<'a>;
+      //~^ ERROR this associated type
+      //~| ERROR this associated type
 }
 
 const _: () = {
   fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {}
-      //~^  ERROR: generic associated types in trait paths are currently not implemented
 };
+
+fn main() {}
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr
index e59a72a99ee..60b8fb9bcaa 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr
+++ b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr
@@ -1,8 +1,49 @@
-error: generic associated types in trait paths are currently not implemented
-  --> $DIR/trait-path-type-error-once-implemented.rs:8:30
+warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/trait-path-type-error-once-implemented.rs:1:12
    |
-LL |   fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {}
-   |                              ^^^
+LL | #![feature(generic_associated_types)]
+   |            ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
+
+error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied
+  --> $DIR/trait-path-type-error-once-implemented.rs:5:10
+   |
+LL |     type Y<'a>;
+   |          ^ expected 1 lifetime argument
+   |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+  --> $DIR/trait-path-type-error-once-implemented.rs:5:10
+   |
+LL |     type Y<'a>;
+   |          ^ --
+help: add missing lifetime argument
+   |
+LL |   fn f2<'a>(arg : Box<dyn X<Y<'a1> = &'a ()>>) {}
+   |                               ^^
+
+error[E0107]: this associated type takes 0 const arguments but 1 const argument was supplied
+  --> $DIR/trait-path-type-error-once-implemented.rs:5:10
+   |
+LL |       type Y<'a>;
+   |  __________^-
+   | |          |
+   | |          expected 0 const arguments
+LL | |
+LL | |
+LL | | }
+LL | |
+LL | | const _: () = {
+LL | |   fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {}
+   | |________________________________- help: remove these generics
+   |
+note: associated type defined here, with 0 const parameters
+  --> $DIR/trait-path-type-error-once-implemented.rs:5:10
+   |
+LL |     type Y<'a>;
+   |          ^
 
-error: aborting due to previous error
+error: aborting due to 2 previous errors; 1 warning emitted
 
+For more information about this error, try `rustc --explain E0107`.
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-types.rs b/src/test/ui/generic-associated-types/parse/trait-path-types.rs
index 6cdb501ec65..522b3edc638 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-types.rs
+++ b/src/test/ui/generic-associated-types/parse/trait-path-types.rs
@@ -7,17 +7,17 @@ trait X {
 
 const _: () = {
   fn f<'a>(arg : Box<dyn X< [u8; 1] = u32>>) {}
-      //~^ ERROR: only path types can be used in associated type constraints
+      //~^ ERROR: expected one of
 };
 
 const _: () = {
   fn f1<'a>(arg : Box<dyn X<(Y<'a>) = &'a ()>>) {}
-      //~^ ERROR: only path types can be used in associated type constraints
+      //~^ ERROR: expected one of
 };
 
 const _: () = {
   fn f1<'a>(arg : Box<dyn X< 'a = u32 >>) {}
-      //~^ ERROR: only types can be used in associated type constraints
+      //~^ ERROR: expected one of
 };
 
 fn main() {}
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-types.stderr b/src/test/ui/generic-associated-types/parse/trait-path-types.stderr
index f5be084613b..ac791c22481 100644
--- a/src/test/ui/generic-associated-types/parse/trait-path-types.stderr
+++ b/src/test/ui/generic-associated-types/parse/trait-path-types.stderr
@@ -1,20 +1,26 @@
-error: only path types can be used in associated type constraints
-  --> $DIR/trait-path-types.rs:9:29
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/trait-path-types.rs:9:37
    |
 LL |   fn f<'a>(arg : Box<dyn X< [u8; 1] = u32>>) {}
-   |                             ^^^^^^^
+   |                                   - ^ expected one of `,`, `:`, or `>`
+   |                                   |
+   |                                   maybe try to close unmatched angle bracket
 
-error: only path types can be used in associated type constraints
-  --> $DIR/trait-path-types.rs:14:29
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/trait-path-types.rs:14:37
    |
 LL |   fn f1<'a>(arg : Box<dyn X<(Y<'a>) = &'a ()>>) {}
-   |                             ^^^^^^^
+   |                                   - ^ expected one of `,`, `:`, or `>`
+   |                                   |
+   |                                   maybe try to close unmatched angle bracket
 
-error: only types can be used in associated type constraints
-  --> $DIR/trait-path-types.rs:19:30
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/trait-path-types.rs:19:33
    |
 LL |   fn f1<'a>(arg : Box<dyn X< 'a = u32 >>) {}
-   |                              ^^
+   |                              -- ^ expected one of `,`, `:`, or `>`
+   |                              |
+   |                              maybe try to close unmatched angle bracket
 
 warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
   --> $DIR/trait-path-types.rs:1:12
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-unimplemented.rs b/src/test/ui/generic-associated-types/parse/trait-path-unimplemented.rs
deleted file mode 100644
index 02d53d5faee..00000000000
--- a/src/test/ui/generic-associated-types/parse/trait-path-unimplemented.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![feature(generic_associated_types)]
-
-trait X {
-    type Y<'a>;
-}
-
-const _: () = {
-  fn f1<'a>(arg : Box<dyn X<Y<'a> = &'a ()>>) {}
-      //~^  ERROR: generic associated types in trait paths are currently not implemented
-};
-
-const _: () = {
-  fn f1<'a>(arg : Box<dyn X<Y('a) = &'a ()>>) {}
-      //~^  ERROR: lifetime in trait object type must be followed by `+`
-};
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/parse/trait-path-unimplemented.stderr b/src/test/ui/generic-associated-types/parse/trait-path-unimplemented.stderr
deleted file mode 100644
index 1fba9cebd24..00000000000
--- a/src/test/ui/generic-associated-types/parse/trait-path-unimplemented.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: lifetime in trait object type must be followed by `+`
-  --> $DIR/trait-path-unimplemented.rs:13:31
-   |
-LL |   fn f1<'a>(arg : Box<dyn X<Y('a) = &'a ()>>) {}
-   |                               ^^
-
-error: generic associated types in trait paths are currently not implemented
-  --> $DIR/trait-path-unimplemented.rs:8:30
-   |
-LL |   fn f1<'a>(arg : Box<dyn X<Y<'a> = &'a ()>>) {}
-   |                              ^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/generic-associated-types/variance_constraints.rs b/src/test/ui/generic-associated-types/variance_constraints.rs
new file mode 100644
index 00000000000..36db80706b4
--- /dev/null
+++ b/src/test/ui/generic-associated-types/variance_constraints.rs
@@ -0,0 +1,24 @@
+// check-pass
+// issue #69184
+#![feature(generic_associated_types)]
+#![allow(incomplete_features)]
+
+trait A {
+    type B<'a>;
+
+    fn make_b<'a>(&'a self) -> Self::B<'a>;
+}
+
+struct S {}
+impl A for S {
+    type B<'a> = &'a S;
+    fn make_b<'a>(&'a self) -> &'a Self {
+        self
+    }
+}
+
+enum E<'a> {
+    S(<S as A>::B<'a>),
+}
+
+fn main() {}
diff --git a/src/test/ui/generics/wrong-number-of-args.rs b/src/test/ui/generics/wrong-number-of-args.rs
index 6b99865202e..2994ca3c759 100644
--- a/src/test/ui/generics/wrong-number-of-args.rs
+++ b/src/test/ui/generics/wrong-number-of-args.rs
@@ -139,7 +139,7 @@ mod stdlib {
 
     mod result {
         type A = Result;
-        //~^ ERROR missing generics for enum `std::result::Result`
+        //~^ ERROR missing generics for enum `Result`
         //~| HELP use angle brackets
 
         type B = Result<String>;
diff --git a/src/test/ui/generics/wrong-number-of-args.stderr b/src/test/ui/generics/wrong-number-of-args.stderr
index 2a34fba2c48..73bd76aa5fa 100644
--- a/src/test/ui/generics/wrong-number-of-args.stderr
+++ b/src/test/ui/generics/wrong-number-of-args.stderr
@@ -365,7 +365,7 @@ note: struct defined here, with at most 3 type parameters: `K`, `V`, `S`
 LL | pub struct HashMap<K, V, S = RandomState> {
    |            ^^^^^^^ -  -  -
 
-error[E0107]: missing generics for enum `std::result::Result`
+error[E0107]: missing generics for enum `Result`
   --> $DIR/wrong-number-of-args.rs:141:18
    |
 LL |         type A = Result;
diff --git a/src/test/ui/hrtb/issue-30786.migrate.stderr b/src/test/ui/hrtb/issue-30786.migrate.stderr
index 90a7cadca41..a769872d83a 100644
--- a/src/test/ui/hrtb/issue-30786.migrate.stderr
+++ b/src/test/ui/hrtb/issue-30786.migrate.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `filterx` found for struct `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>` in the current scope
+error[E0599]: the method `filterx` exists for struct `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>`, but its trait bounds were not satisfied
   --> $DIR/issue-30786.rs:128:22
    |
 LL | pub struct Map<S, F> {
@@ -8,9 +8,9 @@ LL | pub struct Map<S, F> {
    | doesn't satisfy `_: StreamExt`
 ...
 LL |     let filter = map.filterx(|x: &_| true);
-   |                      ^^^^^^^ method not found in `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>`
+   |                      ^^^^^^^ method cannot be called on `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>` due to unsatisfied trait bounds
    |
-   = note: the method `filterx` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `&'a mut Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: Stream`
            which is required by `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: StreamExt`
            `&'a mut &Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: Stream`
@@ -18,7 +18,7 @@ LL |     let filter = map.filterx(|x: &_| true);
            `&'a mut &mut Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: Stream`
            which is required by `&mut Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: StreamExt`
 
-error[E0599]: no method named `countx` found for struct `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>` in the current scope
+error[E0599]: the method `countx` exists for struct `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>`, but its trait bounds were not satisfied
   --> $DIR/issue-30786.rs:141:24
    |
 LL | pub struct Filter<S, F> {
@@ -28,9 +28,9 @@ LL | pub struct Filter<S, F> {
    | doesn't satisfy `_: StreamExt`
 ...
 LL |     let count = filter.countx();
-   |                        ^^^^^^ method not found in `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>`
+   |                        ^^^^^^ method cannot be called on `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>` due to unsatisfied trait bounds
    |
-   = note: the method `countx` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `&'a mut Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>: Stream`
            which is required by `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>: StreamExt`
            `&'a mut &Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>: Stream`
diff --git a/src/test/ui/hrtb/issue-30786.nll.stderr b/src/test/ui/hrtb/issue-30786.nll.stderr
index 90a7cadca41..a769872d83a 100644
--- a/src/test/ui/hrtb/issue-30786.nll.stderr
+++ b/src/test/ui/hrtb/issue-30786.nll.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `filterx` found for struct `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>` in the current scope
+error[E0599]: the method `filterx` exists for struct `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>`, but its trait bounds were not satisfied
   --> $DIR/issue-30786.rs:128:22
    |
 LL | pub struct Map<S, F> {
@@ -8,9 +8,9 @@ LL | pub struct Map<S, F> {
    | doesn't satisfy `_: StreamExt`
 ...
 LL |     let filter = map.filterx(|x: &_| true);
-   |                      ^^^^^^^ method not found in `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>`
+   |                      ^^^^^^^ method cannot be called on `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>` due to unsatisfied trait bounds
    |
-   = note: the method `filterx` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `&'a mut Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: Stream`
            which is required by `Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: StreamExt`
            `&'a mut &Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: Stream`
@@ -18,7 +18,7 @@ LL |     let filter = map.filterx(|x: &_| true);
            `&'a mut &mut Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: Stream`
            which is required by `&mut Map<Repeat, [closure@$DIR/issue-30786.rs:127:27: 127:36]>: StreamExt`
 
-error[E0599]: no method named `countx` found for struct `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>` in the current scope
+error[E0599]: the method `countx` exists for struct `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>`, but its trait bounds were not satisfied
   --> $DIR/issue-30786.rs:141:24
    |
 LL | pub struct Filter<S, F> {
@@ -28,9 +28,9 @@ LL | pub struct Filter<S, F> {
    | doesn't satisfy `_: StreamExt`
 ...
 LL |     let count = filter.countx();
-   |                        ^^^^^^ method not found in `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>`
+   |                        ^^^^^^ method cannot be called on `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>` due to unsatisfied trait bounds
    |
-   = note: the method `countx` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `&'a mut Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>: Stream`
            which is required by `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>: StreamExt`
            `&'a mut &Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:140:30: 140:42]>: Stream`
diff --git a/src/test/ui/hrtb/issue-30786.rs b/src/test/ui/hrtb/issue-30786.rs
index 8ce5c090b54..278c5441ecf 100644
--- a/src/test/ui/hrtb/issue-30786.rs
+++ b/src/test/ui/hrtb/issue-30786.rs
@@ -126,8 +126,8 @@ fn variant1() {
     // guess.
     let map = source.mapx(|x: &_| x);
     let filter = map.filterx(|x: &_| true);
-    //[migrate]~^ ERROR no method named `filterx`
-    //[nll]~^^ ERROR no method named `filterx`
+    //[migrate]~^ ERROR the method
+    //[nll]~^^ ERROR the method
 }
 
 fn variant2() {
@@ -139,8 +139,8 @@ fn variant2() {
     let map = source.mapx(identity);
     let filter = map.filterx(|x: &_| true);
     let count = filter.countx();
-    //[migrate]~^ ERROR no method named `countx`
-    //[nll]~^^ ERROR no method named `countx`
+    //[migrate]~^ ERROR the method
+    //[nll]~^^ ERROR the method
 }
 
 fn main() {}
diff --git a/src/test/ui/hygiene/no_implicit_prelude-2021.rs b/src/test/ui/hygiene/no_implicit_prelude-2021.rs
new file mode 100644
index 00000000000..0fe9ae56c65
--- /dev/null
+++ b/src/test/ui/hygiene/no_implicit_prelude-2021.rs
@@ -0,0 +1,9 @@
+// check-pass
+// edition:2021
+
+#![no_implicit_prelude]
+
+fn main() {
+    assert!(true, "hoi");
+    assert!(false, "hoi {}", 123);
+}
diff --git a/src/test/ui/hygiene/traits-in-scope.rs b/src/test/ui/hygiene/traits-in-scope.rs
new file mode 100644
index 00000000000..548bb226b71
--- /dev/null
+++ b/src/test/ui/hygiene/traits-in-scope.rs
@@ -0,0 +1,53 @@
+// Macros with def-site hygiene still bring traits into scope.
+// It is not clear whether this is desirable behavior or not.
+// It is also not clear how to prevent it if it is not desirable.
+
+// check-pass
+
+#![feature(decl_macro)]
+#![feature(trait_alias)]
+
+mod traits {
+    pub trait Trait1 {
+        fn simple_import(&self) {}
+    }
+    pub trait Trait2 {
+        fn renamed_import(&self) {}
+    }
+    pub trait Trait3 {
+        fn underscore_import(&self) {}
+    }
+    pub trait Trait4 {
+        fn trait_alias(&self) {}
+    }
+
+    impl Trait1 for () {}
+    impl Trait2 for () {}
+    impl Trait3 for () {}
+    impl Trait4 for () {}
+}
+
+macro m1() {
+    use traits::Trait1;
+}
+macro m2() {
+    use traits::Trait2 as Alias;
+}
+macro m3() {
+    use traits::Trait3 as _;
+}
+macro m4() {
+    trait Alias = traits::Trait4;
+}
+
+fn main() {
+    m1!();
+    m2!();
+    m3!();
+    m4!();
+
+    ().simple_import();
+    ().renamed_import();
+    ().underscore_import();
+    ().trait_alias();
+}
diff --git a/src/test/ui/illegal-ufcs-drop.fixed b/src/test/ui/illegal-ufcs-drop.fixed
new file mode 100644
index 00000000000..d73b391be06
--- /dev/null
+++ b/src/test/ui/illegal-ufcs-drop.fixed
@@ -0,0 +1,10 @@
+// run-rustfix
+struct Foo;
+
+impl Drop for Foo {
+    fn drop(&mut self) {}
+}
+
+fn main() {
+    drop(&mut Foo) //~ ERROR explicit use of destructor method
+}
diff --git a/src/test/ui/illegal-ufcs-drop.rs b/src/test/ui/illegal-ufcs-drop.rs
index 5c072663eda..11411f55494 100644
--- a/src/test/ui/illegal-ufcs-drop.rs
+++ b/src/test/ui/illegal-ufcs-drop.rs
@@ -1,3 +1,4 @@
+// run-rustfix
 struct Foo;
 
 impl Drop for Foo {
diff --git a/src/test/ui/illegal-ufcs-drop.stderr b/src/test/ui/illegal-ufcs-drop.stderr
index 57c99739afd..91f47d5e456 100644
--- a/src/test/ui/illegal-ufcs-drop.stderr
+++ b/src/test/ui/illegal-ufcs-drop.stderr
@@ -1,5 +1,5 @@
 error[E0040]: explicit use of destructor method
-  --> $DIR/illegal-ufcs-drop.rs:8:5
+  --> $DIR/illegal-ufcs-drop.rs:9:5
    |
 LL |     Drop::drop(&mut Foo)
    |     ^^^^^^^^^^
diff --git a/src/test/ui/impl-header-lifetime-elision/dyn-trait.nll.stderr b/src/test/ui/impl-header-lifetime-elision/dyn-trait.nll.stderr
index 8e660d6814c..d72435bc631 100644
--- a/src/test/ui/impl-header-lifetime-elision/dyn-trait.nll.stderr
+++ b/src/test/ui/impl-header-lifetime-elision/dyn-trait.nll.stderr
@@ -10,3 +10,4 @@ LL |     static_val(x);
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/impl-trait/trait_type.stderr b/src/test/ui/impl-trait/trait_type.stderr
index e94f2c70215..961bb735118 100644
--- a/src/test/ui/impl-trait/trait_type.stderr
+++ b/src/test/ui/impl-trait/trait_type.stderr
@@ -4,7 +4,7 @@ error[E0053]: method `fmt` has an incompatible type for trait
 LL |    fn fmt(&self, x: &str) -> () { }
    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability
    |
-   = note: expected fn pointer `fn(&MyType, &mut Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`
+   = note: expected fn pointer `fn(&MyType, &mut Formatter<'_>) -> Result<(), std::fmt::Error>`
               found fn pointer `fn(&MyType, &str)`
 
 error[E0050]: method `fmt` has 1 parameter but the declaration in trait `std::fmt::Display::fmt` has 2
@@ -13,7 +13,7 @@ error[E0050]: method `fmt` has 1 parameter but the declaration in trait `std::fm
 LL |    fn fmt(&self) -> () { }
    |           ^^^^^ expected 2 parameters, found 1
    |
-   = note: `fmt` from trait: `fn(&Self, &mut Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`
+   = note: `fmt` from trait: `fn(&Self, &mut Formatter<'_>) -> Result<(), std::fmt::Error>`
 
 error[E0186]: method `fmt` has a `&self` declaration in the trait, but not in the impl
   --> $DIR/trait_type.rs:17:4
@@ -21,7 +21,7 @@ error[E0186]: method `fmt` has a `&self` declaration in the trait, but not in th
 LL |    fn fmt() -> () { }
    |    ^^^^^^^^^^^^^^ expected `&self` in impl
    |
-   = note: `fmt` from trait: `fn(&Self, &mut Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`
+   = note: `fmt` from trait: `fn(&Self, &mut Formatter<'_>) -> Result<(), std::fmt::Error>`
 
 error[E0046]: not all trait items implemented, missing: `fmt`
   --> $DIR/trait_type.rs:21:1
@@ -29,7 +29,7 @@ error[E0046]: not all trait items implemented, missing: `fmt`
 LL | impl std::fmt::Display for MyType4 {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `fmt` in implementation
    |
-   = help: implement the missing item: `fn fmt(&self, _: &mut Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { todo!() }`
+   = help: implement the missing item: `fn fmt(&self, _: &mut Formatter<'_>) -> Result<(), std::fmt::Error> { todo!() }`
 
 error: aborting due to 4 previous errors
 
diff --git a/src/test/ui/inference/cannot-infer-closure-circular.stderr b/src/test/ui/inference/cannot-infer-closure-circular.stderr
index 5efb400a4c7..211ae13e46d 100644
--- a/src/test/ui/inference/cannot-infer-closure-circular.stderr
+++ b/src/test/ui/inference/cannot-infer-closure-circular.stderr
@@ -1,8 +1,8 @@
-error[E0282]: type annotations needed for `std::result::Result<(), E>`
+error[E0282]: type annotations needed for `Result<(), E>`
   --> $DIR/cannot-infer-closure-circular.rs:7:14
    |
 LL |     let x = |r| {
-   |              ^ consider giving this closure parameter the explicit type `std::result::Result<(), E>`, with the type parameters specified
+   |              ^ consider giving this closure parameter the explicit type `Result<(), E>`, with the type parameters specified
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/inference/cannot-infer-closure.stderr b/src/test/ui/inference/cannot-infer-closure.stderr
index 475ed00d107..0dcce9e990b 100644
--- a/src/test/ui/inference/cannot-infer-closure.stderr
+++ b/src/test/ui/inference/cannot-infer-closure.stderr
@@ -1,4 +1,4 @@
-error[E0282]: type annotations needed for the closure `fn((), ()) -> std::result::Result<(), _>`
+error[E0282]: type annotations needed for the closure `fn((), ()) -> Result<(), _>`
   --> $DIR/cannot-infer-closure.rs:3:15
    |
 LL |         Err(a)?;
@@ -7,8 +7,8 @@ LL |         Err(a)?;
    = note: `?` implicitly converts the error value into a type implementing `From<()>`
 help: give this closure an explicit return type without `_` placeholders
    |
-LL |     let x = |a: (), b: ()| -> std::result::Result<(), _> {
-   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL |     let x = |a: (), b: ()| -> Result<(), _> {
+   |                            ^^^^^^^^^^^^^^^^
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/inference/cannot-infer-partial-try-return.stderr b/src/test/ui/inference/cannot-infer-partial-try-return.stderr
index a64503fa667..86e2126e1ae 100644
--- a/src/test/ui/inference/cannot-infer-partial-try-return.stderr
+++ b/src/test/ui/inference/cannot-infer-partial-try-return.stderr
@@ -1,4 +1,4 @@
-error[E0282]: type annotations needed for the closure `fn() -> std::result::Result<(), QualifiedError<_>>`
+error[E0282]: type annotations needed for the closure `fn() -> Result<(), QualifiedError<_>>`
   --> $DIR/cannot-infer-partial-try-return.rs:19:9
    |
 LL |         infallible()?;
@@ -7,8 +7,8 @@ LL |         infallible()?;
    = note: `?` implicitly converts the error value into `QualifiedError<_>` using its implementation of `From<Infallible>`
 help: give this closure an explicit return type without `_` placeholders
    |
-LL |     let x = || -> std::result::Result<(), QualifiedError<_>> {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL |     let x = || -> Result<(), QualifiedError<_>> {
+   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/inference/issue-72616.stderr b/src/test/ui/inference/issue-72616.stderr
index d811988c9c1..3c9d864c426 100644
--- a/src/test/ui/inference/issue-72616.stderr
+++ b/src/test/ui/inference/issue-72616.stderr
@@ -2,7 +2,7 @@ error[E0283]: type annotations needed
   --> $DIR/issue-72616.rs:20:30
    |
 LL |         if String::from("a") == "a".try_into().unwrap() {}
-   |                              ^^ -------------- this method call resolves to `std::result::Result<T, <Self as TryInto<T>>::Error>`
+   |                              ^^ -------------- this method call resolves to `Result<T, <Self as TryInto<T>>::Error>`
    |                              |
    |                              cannot infer type
    |
diff --git a/src/test/ui/internal/internal-unstable.rs b/src/test/ui/internal/internal-unstable.rs
index 94bd6aab23b..b8987d3e13c 100644
--- a/src/test/ui/internal/internal-unstable.rs
+++ b/src/test/ui/internal/internal-unstable.rs
@@ -1,10 +1,17 @@
 // aux-build:internal_unstable.rs
 
 #![feature(allow_internal_unstable)]
+#[allow(dead_code)]
 
 #[macro_use]
 extern crate internal_unstable;
 
+struct Baz {
+    #[allow_internal_unstable]
+    //^ WARN `#[allow_internal_unstable]` is ignored on struct fields and match arms
+    baz: u8,
+}
+
 macro_rules! foo {
     ($e: expr, $f: expr) => {{
         $e;
@@ -40,4 +47,10 @@ fn main() {
     println!("{:?}", internal_unstable::unstable()); //~ ERROR use of unstable
 
     bar!(internal_unstable::unstable()); //~ ERROR use of unstable
+
+    match true {
+        #[allow_internal_unstable]
+        //^ WARN `#[allow_internal_unstable]` is ignored on struct fields and match arms
+        _ => {}
+    }
 }
diff --git a/src/test/ui/internal/internal-unstable.stderr b/src/test/ui/internal/internal-unstable.stderr
index 2e6360c75c4..a92ca4957b5 100644
--- a/src/test/ui/internal/internal-unstable.stderr
+++ b/src/test/ui/internal/internal-unstable.stderr
@@ -1,5 +1,5 @@
 error[E0658]: use of unstable library feature 'function'
-  --> $DIR/internal-unstable.rs:34:25
+  --> $DIR/internal-unstable.rs:41:25
    |
 LL |     pass_through_allow!(internal_unstable::unstable());
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -7,7 +7,7 @@ LL |     pass_through_allow!(internal_unstable::unstable());
    = help: add `#![feature(function)]` to the crate attributes to enable
 
 error[E0658]: use of unstable library feature 'function'
-  --> $DIR/internal-unstable.rs:36:27
+  --> $DIR/internal-unstable.rs:43:27
    |
 LL |     pass_through_noallow!(internal_unstable::unstable());
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -15,7 +15,7 @@ LL |     pass_through_noallow!(internal_unstable::unstable());
    = help: add `#![feature(function)]` to the crate attributes to enable
 
 error[E0658]: use of unstable library feature 'function'
-  --> $DIR/internal-unstable.rs:40:22
+  --> $DIR/internal-unstable.rs:47:22
    |
 LL |     println!("{:?}", internal_unstable::unstable());
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -23,7 +23,7 @@ LL |     println!("{:?}", internal_unstable::unstable());
    = help: add `#![feature(function)]` to the crate attributes to enable
 
 error[E0658]: use of unstable library feature 'function'
-  --> $DIR/internal-unstable.rs:42:10
+  --> $DIR/internal-unstable.rs:49:10
    |
 LL |     bar!(internal_unstable::unstable());
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -31,7 +31,7 @@ LL |     bar!(internal_unstable::unstable());
    = help: add `#![feature(function)]` to the crate attributes to enable
 
 error[E0658]: use of unstable library feature 'function'
-  --> $DIR/internal-unstable.rs:12:9
+  --> $DIR/internal-unstable.rs:19:9
    |
 LL |         internal_unstable::unstable();
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/issue-74047.stderr b/src/test/ui/issue-74047.stderr
index 8f7c91a78d8..28174825d8b 100644
--- a/src/test/ui/issue-74047.stderr
+++ b/src/test/ui/issue-74047.stderr
@@ -5,7 +5,7 @@ LL | impl TryFrom<OtherStream> for MyStream {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Error`, `try_from` in implementation
    |
    = help: implement the missing item: `type Error = Type;`
-   = help: implement the missing item: `fn try_from(_: T) -> std::result::Result<Self, <Self as TryFrom<T>>::Error> { todo!() }`
+   = help: implement the missing item: `fn try_from(_: T) -> Result<Self, <Self as TryFrom<T>>::Error> { todo!() }`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-11844.stderr b/src/test/ui/issues/issue-11844.stderr
index 00eecbc9a98..9d7470e7af9 100644
--- a/src/test/ui/issues/issue-11844.stderr
+++ b/src/test/ui/issues/issue-11844.stderr
@@ -4,10 +4,10 @@ error[E0308]: mismatched types
 LL |     match a {
    |           - this expression has type `Option<Box<{integer}>>`
 LL |         Ok(a) =>
-   |         ^^^^^ expected enum `Option`, found enum `std::result::Result`
+   |         ^^^^^ expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<Box<{integer}>>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-12552.stderr b/src/test/ui/issues/issue-12552.stderr
index 1594c9f503a..3d8852ca748 100644
--- a/src/test/ui/issues/issue-12552.stderr
+++ b/src/test/ui/issues/issue-12552.stderr
@@ -2,23 +2,23 @@ error[E0308]: mismatched types
   --> $DIR/issue-12552.rs:6:5
    |
 LL |   match t {
-   |         - this expression has type `std::result::Result<_, {integer}>`
+   |         - this expression has type `Result<_, {integer}>`
 LL |     Some(k) => match k {
-   |     ^^^^^^^ expected enum `std::result::Result`, found enum `Option`
+   |     ^^^^^^^ expected enum `Result`, found enum `Option`
    |
-   = note: expected enum `std::result::Result<_, {integer}>`
+   = note: expected enum `Result<_, {integer}>`
               found enum `Option<_>`
 
 error[E0308]: mismatched types
   --> $DIR/issue-12552.rs:9:5
    |
 LL |   match t {
-   |         - this expression has type `std::result::Result<_, {integer}>`
+   |         - this expression has type `Result<_, {integer}>`
 ...
 LL |     None => ()
-   |     ^^^^ expected enum `std::result::Result`, found enum `Option`
+   |     ^^^^ expected enum `Result`, found enum `Option`
    |
-   = note: expected enum `std::result::Result<_, {integer}>`
+   = note: expected enum `Result<_, {integer}>`
               found enum `Option<_>`
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/issues/issue-13466.rs b/src/test/ui/issues/issue-13466.rs
index 8048dae1239..a420c7704af 100644
--- a/src/test/ui/issues/issue-13466.rs
+++ b/src/test/ui/issues/issue-13466.rs
@@ -8,13 +8,13 @@ pub fn main() {
         Ok(u) => u,
         //~^ ERROR mismatched types
         //~| expected enum `Option<{integer}>`
-        //~| found enum `std::result::Result<_, _>`
-        //~| expected enum `Option`, found enum `std::result::Result`
+        //~| found enum `Result<_, _>`
+        //~| expected enum `Option`, found enum `Result`
 
         Err(e) => panic!(e)
         //~^ ERROR mismatched types
         //~| expected enum `Option<{integer}>`
-        //~| found enum `std::result::Result<_, _>`
-        //~| expected enum `Option`, found enum `std::result::Result`
+        //~| found enum `Result<_, _>`
+        //~| expected enum `Option`, found enum `Result`
     };
 }
diff --git a/src/test/ui/issues/issue-13466.stderr b/src/test/ui/issues/issue-13466.stderr
index 792cc398bb8..c78466f4e8c 100644
--- a/src/test/ui/issues/issue-13466.stderr
+++ b/src/test/ui/issues/issue-13466.stderr
@@ -4,10 +4,10 @@ error[E0308]: mismatched types
 LL |     let _x: usize = match Some(1) {
    |                           ------- this expression has type `Option<{integer}>`
 LL |         Ok(u) => u,
-   |         ^^^^^ expected enum `Option`, found enum `std::result::Result`
+   |         ^^^^^ expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<{integer}>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error[E0308]: mismatched types
   --> $DIR/issue-13466.rs:14:9
@@ -16,10 +16,10 @@ LL |     let _x: usize = match Some(1) {
    |                           ------- this expression has type `Option<{integer}>`
 ...
 LL |         Err(e) => panic!(e)
-   |         ^^^^^^ expected enum `Option`, found enum `std::result::Result`
+   |         ^^^^^^ expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<{integer}>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/issues/issue-16683.nll.stderr b/src/test/ui/issues/issue-16683.nll.stderr
index b82b0b552e2..51d86eaf9e6 100644
--- a/src/test/ui/issues/issue-16683.nll.stderr
+++ b/src/test/ui/issues/issue-16683.nll.stderr
@@ -8,3 +8,4 @@ LL |         self.a();
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/issues/issue-17758.nll.stderr b/src/test/ui/issues/issue-17758.nll.stderr
index 23557b4d956..075c141ed7a 100644
--- a/src/test/ui/issues/issue-17758.nll.stderr
+++ b/src/test/ui/issues/issue-17758.nll.stderr
@@ -8,3 +8,4 @@ LL |         self.foo();
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/issues/issue-18919.stderr b/src/test/ui/issues/issue-18919.stderr
index ece714c949c..d4b93eb074c 100644
--- a/src/test/ui/issues/issue-18919.stderr
+++ b/src/test/ui/issues/issue-18919.stderr
@@ -14,7 +14,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
 LL | enum Option<T> {
    |             ^ this could be changed to `T: ?Sized`...
 LL |     Some(T),
-   |          - ...if indirection was used here: `Box<T>`
+   |          - ...if indirection were used here: `Box<T>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-1962.fixed b/src/test/ui/issues/issue-1962.fixed
index b810a90ef37..897fd172b29 100644
--- a/src/test/ui/issues/issue-1962.fixed
+++ b/src/test/ui/issues/issue-1962.fixed
@@ -3,8 +3,8 @@
 
 fn main() {
     let mut i = 0;
-    loop { //~ ERROR denote infinite loops with `loop
+    'a: loop { //~ ERROR denote infinite loops with `loop
         i += 1;
-        if i == 5 { break; }
+        if i == 5 { break 'a; }
     }
 }
diff --git a/src/test/ui/issues/issue-1962.rs b/src/test/ui/issues/issue-1962.rs
index 00d2bbd2850..71e87410087 100644
--- a/src/test/ui/issues/issue-1962.rs
+++ b/src/test/ui/issues/issue-1962.rs
@@ -3,8 +3,8 @@
 
 fn main() {
     let mut i = 0;
-    while true { //~ ERROR denote infinite loops with `loop
+    'a: while true { //~ ERROR denote infinite loops with `loop
         i += 1;
-        if i == 5 { break; }
+        if i == 5 { break 'a; }
     }
 }
diff --git a/src/test/ui/issues/issue-1962.stderr b/src/test/ui/issues/issue-1962.stderr
index 17142912696..4c32a4cf3dd 100644
--- a/src/test/ui/issues/issue-1962.stderr
+++ b/src/test/ui/issues/issue-1962.stderr
@@ -1,8 +1,8 @@
 error: denote infinite loops with `loop { ... }`
   --> $DIR/issue-1962.rs:6:5
    |
-LL |     while true {
-   |     ^^^^^^^^^^ help: use `loop`
+LL |     'a: while true {
+   |     ^^^^^^^^^^^^^^ help: use `loop`
    |
    = note: requested on the command line with `-D while-true`
 
diff --git a/src/test/ui/issues/issue-21332.rs b/src/test/ui/issues/issue-21332.rs
index 1b13f000b8c..6547f3a9b19 100644
--- a/src/test/ui/issues/issue-21332.rs
+++ b/src/test/ui/issues/issue-21332.rs
@@ -4,7 +4,7 @@ impl Iterator for S {
     type Item = i32;
     fn next(&mut self) -> Result<i32, i32> { Ok(7) }
     //~^ ERROR method `next` has an incompatible type for trait
-    //~| expected enum `Option`, found enum `std::result::Result`
+    //~| expected enum `Option`, found enum `Result`
 }
 
 fn main() {}
diff --git a/src/test/ui/issues/issue-21332.stderr b/src/test/ui/issues/issue-21332.stderr
index 1d6ddd2660e..35863fbebe3 100644
--- a/src/test/ui/issues/issue-21332.stderr
+++ b/src/test/ui/issues/issue-21332.stderr
@@ -2,10 +2,10 @@ error[E0053]: method `next` has an incompatible type for trait
   --> $DIR/issue-21332.rs:5:5
    |
 LL |     fn next(&mut self) -> Result<i32, i32> { Ok(7) }
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `std::result::Result`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `Result`
    |
    = note: expected fn pointer `fn(&mut S) -> Option<i32>`
-              found fn pointer `fn(&mut S) -> std::result::Result<i32, i32>`
+              found fn pointer `fn(&mut S) -> Result<i32, i32>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-21596.stderr b/src/test/ui/issues/issue-21596.stderr
index 70b975524e0..b0524f056ef 100644
--- a/src/test/ui/issues/issue-21596.stderr
+++ b/src/test/ui/issues/issue-21596.stderr
@@ -1,12 +1,12 @@
-error[E0599]: no method named `to_string` found for raw pointer `*const u8` in the current scope
+error[E0599]: the method `to_string` exists for raw pointer `*const u8`, but its trait bounds were not satisfied
   --> $DIR/issue-21596.rs:4:22
    |
 LL |     println!("{}", z.to_string());
-   |                      ^^^^^^^^^ method not found in `*const u8`
+   |                      ^^^^^^^^^ method cannot be called on `*const u8` due to unsatisfied trait bounds
    |
    = note: try using `<*const T>::as_ref()` to get a reference to the type behind the pointer: https://doc.rust-lang.org/std/primitive.pointer.html#method.as_ref
    = note: using `<*const T>::as_ref()` on a pointer which is unaligned or points to invalid or uninitialized memory is undefined behavior
-   = note: the method `to_string` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `*const u8: std::fmt::Display`
            which is required by `*const u8: ToString`
 
diff --git a/src/test/ui/issues/issue-23122-2.stderr b/src/test/ui/issues/issue-23122-2.stderr
index ff7e884ea6f..ce3bffe602c 100644
--- a/src/test/ui/issues/issue-23122-2.stderr
+++ b/src/test/ui/issues/issue-23122-2.stderr
@@ -1,10 +1,11 @@
-error[E0275]: overflow evaluating the requirement `<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<T as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next`
+error[E0275]: overflow evaluating the requirement `<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<T as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next: Sized`
   --> $DIR/issue-23122-2.rs:9:5
    |
 LL |     type Next = <GetNext<T::Next> as Next>::Next;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`issue_23122_2`)
+   = note: required because of the requirements on the impl of `Next` for `GetNext<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<T as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-23281.stderr b/src/test/ui/issues/issue-23281.stderr
index d8046497b98..a3d25832925 100644
--- a/src/test/ui/issues/issue-23281.stderr
+++ b/src/test/ui/issues/issue-23281.stderr
@@ -14,7 +14,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
 LL | struct Vec<T> {
    |            ^ this could be changed to `T: ?Sized`...
 LL |     t: T,
-   |        - ...if indirection was used here: `Box<T>`
+   |        - ...if indirection were used here: `Box<T>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-27042.stderr b/src/test/ui/issues/issue-27042.stderr
index 7dee1a6a5f0..59ef28481d0 100644
--- a/src/test/ui/issues/issue-27042.stderr
+++ b/src/test/ui/issues/issue-27042.stderr
@@ -4,7 +4,7 @@ warning: denote infinite loops with `loop { ... }`
 LL | /         'b:
 LL | |
 LL | |         while true { break }; // but here we cite the whole loop
-   | |____________________________^ help: use `loop`
+   | |__________________^ help: use `loop`
    |
    = note: `#[warn(while_true)]` on by default
 
diff --git a/src/test/ui/issues/issue-29821.rs b/src/test/ui/issues/issue-29821.rs
new file mode 100644
index 00000000000..54be3afb59d
--- /dev/null
+++ b/src/test/ui/issues/issue-29821.rs
@@ -0,0 +1,19 @@
+// build-pass
+
+pub trait Foo {
+    type FooAssoc;
+}
+
+pub struct Bar<F: Foo> {
+    id: F::FooAssoc
+}
+
+pub struct Baz;
+
+impl Foo for Baz {
+    type FooAssoc = usize;
+}
+
+static mut MY_FOO: Bar<Baz> = Bar { id: 0 };
+
+fn main() {}
diff --git a/src/test/ui/issues/issue-31173.rs b/src/test/ui/issues/issue-31173.rs
index 26195318380..40475426cff 100644
--- a/src/test/ui/issues/issue-31173.rs
+++ b/src/test/ui/issues/issue-31173.rs
@@ -11,7 +11,7 @@ pub fn get_tok(it: &mut IntoIter<u8>) {
         //~^ ERROR type mismatch resolving
         //~| expected type `u8`
         //~| found reference `&_`
-        .collect(); //~ ERROR no method named `collect`
+        .collect(); //~ ERROR the method
 }
 
 fn main() {}
diff --git a/src/test/ui/issues/issue-31173.stderr b/src/test/ui/issues/issue-31173.stderr
index d371703e295..0b7ffc39646 100644
--- a/src/test/ui/issues/issue-31173.stderr
+++ b/src/test/ui/issues/issue-31173.stderr
@@ -7,11 +7,11 @@ LL |         .cloned()
    = note:   expected type `u8`
            found reference `&_`
 
-error[E0599]: no method named `collect` found for struct `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]>>` in the current scope
+error[E0599]: the method `collect` exists for struct `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]>>`, but its trait bounds were not satisfied
   --> $DIR/issue-31173.rs:14:10
    |
 LL |         .collect();
-   |          ^^^^^^^ method not found in `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]>>`
+   |          ^^^^^^^ method cannot be called on `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]>>` due to unsatisfied trait bounds
    | 
   ::: $SRC_DIR/core/src/iter/adapters/cloned.rs:LL:COL
    |
@@ -23,7 +23,7 @@ LL | pub struct Cloned<I> {
 LL | pub struct TakeWhile<I, P> {
    | -------------------------- doesn't satisfy `<_ as Iterator>::Item = &_`
    |
-   = note: the method `collect` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]> as Iterator>::Item = &_`
            which is required by `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]>>: Iterator`
            `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:6:39: 9:6]>>: Iterator`
diff --git a/src/test/ui/issues/issue-34334.rs b/src/test/ui/issues/issue-34334.rs
index b45c00f6943..51486bc40de 100644
--- a/src/test/ui/issues/issue-34334.rs
+++ b/src/test/ui/issues/issue-34334.rs
@@ -1,6 +1,8 @@
 fn main () {
     let sr: Vec<(u32, _, _) = vec![];
-    //~^ ERROR only path types can be used in associated type constraints
+    //~^ ERROR expected one of
+
     let sr2: Vec<(u32, _, _)> = sr.iter().map(|(faction, th_sender, th_receiver)| {}).collect();
     //~^ ERROR a value of type `Vec<(u32, _, _)>` cannot be built
+
 }
diff --git a/src/test/ui/issues/issue-34334.stderr b/src/test/ui/issues/issue-34334.stderr
index a9b9bf06d7f..acb44ce2c35 100644
--- a/src/test/ui/issues/issue-34334.stderr
+++ b/src/test/ui/issues/issue-34334.stderr
@@ -1,13 +1,14 @@
-error: only path types can be used in associated type constraints
-  --> $DIR/issue-34334.rs:2:17
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/issue-34334.rs:2:29
    |
 LL |     let sr: Vec<(u32, _, _) = vec![];
-   |         --      ^^^^^^^^^^^
-   |         |
+   |         --                - ^ expected one of `,`, `:`, or `>`
+   |         |                 |
+   |         |                 maybe try to close unmatched angle bracket
    |         while parsing the type for `sr`
 
 error[E0277]: a value of type `Vec<(u32, _, _)>` cannot be built from an iterator over elements of type `()`
-  --> $DIR/issue-34334.rs:4:87
+  --> $DIR/issue-34334.rs:5:87
    |
 LL |     let sr2: Vec<(u32, _, _)> = sr.iter().map(|(faction, th_sender, th_receiver)| {}).collect();
    |                                                                                       ^^^^^^^ value of type `Vec<(u32, _, _)>` cannot be built from `std::iter::Iterator<Item=()>`
diff --git a/src/test/ui/issues/issue-35677.rs b/src/test/ui/issues/issue-35677.rs
index ba2d503d7fc..15d13979062 100644
--- a/src/test/ui/issues/issue-35677.rs
+++ b/src/test/ui/issues/issue-35677.rs
@@ -2,7 +2,7 @@ use std::collections::HashSet;
 
 fn is_subset<T>(this: &HashSet<T>, other: &HashSet<T>) -> bool {
     this.is_subset(other)
-    //~^ ERROR no method named
+    //~^ ERROR the method
 }
 
 fn main() {}
diff --git a/src/test/ui/issues/issue-35677.stderr b/src/test/ui/issues/issue-35677.stderr
index afdc5d68ca3..ab59e5d1acf 100644
--- a/src/test/ui/issues/issue-35677.stderr
+++ b/src/test/ui/issues/issue-35677.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no method named `is_subset` found for reference `&HashSet<T>` in the current scope
+error[E0599]: the method `is_subset` exists for reference `&HashSet<T>`, but its trait bounds were not satisfied
   --> $DIR/issue-35677.rs:4:10
    |
 LL |     this.is_subset(other)
-   |          ^^^^^^^^^ method not found in `&HashSet<T>`
+   |          ^^^^^^^^^ method cannot be called on `&HashSet<T>` due to unsatisfied trait bounds
    |
-   = note: the method `is_subset` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `T: Eq`
            `T: Hash`
 
diff --git a/src/test/ui/issues/issue-3680.rs b/src/test/ui/issues/issue-3680.rs
index 8912e7a18ac..37c9000c043 100644
--- a/src/test/ui/issues/issue-3680.rs
+++ b/src/test/ui/issues/issue-3680.rs
@@ -3,7 +3,7 @@ fn main() {
         Err(_) => ()
         //~^ ERROR mismatched types
         //~| expected enum `Option<_>`
-        //~| found enum `std::result::Result<_, _>`
-        //~| expected enum `Option`, found enum `std::result::Result`
+        //~| found enum `Result<_, _>`
+        //~| expected enum `Option`, found enum `Result`
     }
 }
diff --git a/src/test/ui/issues/issue-3680.stderr b/src/test/ui/issues/issue-3680.stderr
index 479942b8e2c..e8fafa76b91 100644
--- a/src/test/ui/issues/issue-3680.stderr
+++ b/src/test/ui/issues/issue-3680.stderr
@@ -4,10 +4,10 @@ error[E0308]: mismatched types
 LL |     match None {
    |           ---- this expression has type `Option<_>`
 LL |         Err(_) => ()
-   |         ^^^^^^ expected enum `Option`, found enum `std::result::Result`
+   |         ^^^^^^ expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<_>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-43424.stderr b/src/test/ui/issues/issue-43424.stderr
index 6274a7928ba..8f59d7cc3aa 100644
--- a/src/test/ui/issues/issue-43424.stderr
+++ b/src/test/ui/issues/issue-43424.stderr
@@ -1,8 +1,8 @@
 error: unexpected generic arguments in path
-  --> $DIR/issue-43424.rs:10:4
+  --> $DIR/issue-43424.rs:10:10
    |
 LL | m!(inline<u8>);
-   |    ^^^^^^^^^^
+   |          ^^^^
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-46604.rs b/src/test/ui/issues/issue-46604.rs
index 273187a5a13..6ec6e7bdcb8 100644
--- a/src/test/ui/issues/issue-46604.rs
+++ b/src/test/ui/issues/issue-46604.rs
@@ -1,4 +1,4 @@
-static buf: &mut [u8] = &mut [1u8,2,3,4,5,7];   //~ ERROR E0764
+static buf: &mut [u8] = &mut [1u8,2,3,4,5,7];   //~ ERROR mutable references are not allowed
 fn write<T: AsRef<[u8]>>(buffer: T) { }
 
 fn main() {
diff --git a/src/test/ui/issues/issue-46604.stderr b/src/test/ui/issues/issue-46604.stderr
index 5421721dec2..7faa2d79ba4 100644
--- a/src/test/ui/issues/issue-46604.stderr
+++ b/src/test/ui/issues/issue-46604.stderr
@@ -1,8 +1,8 @@
-error[E0764]: mutable references are not allowed in statics
+error[E0764]: mutable references are not allowed in the final value of statics
   --> $DIR/issue-46604.rs:1:25
    |
 LL | static buf: &mut [u8] = &mut [1u8,2,3,4,5,7];
-   |                         ^^^^^^^^^^^^^^^^^^^^ `&mut` is only allowed in `const fn`
+   |                         ^^^^^^^^^^^^^^^^^^^^
 
 error[E0594]: cannot assign to `buf[_]`, as `buf` is an immutable static item
   --> $DIR/issue-46604.rs:6:5
diff --git a/src/test/ui/issues/issue-4736.stderr b/src/test/ui/issues/issue-4736.stderr
index 257ec914a61..9be4eb1c7fd 100644
--- a/src/test/ui/issues/issue-4736.stderr
+++ b/src/test/ui/issues/issue-4736.stderr
@@ -7,7 +7,7 @@ LL | struct NonCopyable(());
 LL |     let z = NonCopyable{ p: () };
    |             -----------  ^ field does not exist
    |             |
-   |             `NonCopyable` is a tuple struct, use the appropriate syntax: `NonCopyable(/* fields */)`
+   |             help: `NonCopyable` is a tuple struct, use the appropriate syntax: `NonCopyable(/* fields */)`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.rs b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.rs
index 153ca0843d6..160cfc3d46c 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.rs
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.rs
@@ -1,4 +1,4 @@
 fn main() {
     let _result = &Some(42).as_deref();
-//~^ ERROR no method named `as_deref` found for enum `Option<{integer}>`
+//~^ ERROR the method
 }
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.stderr b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.stderr
index a8cd98b6107..21fc3b2bdd1 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.stderr
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no method named `as_deref` found for enum `Option<{integer}>` in the current scope
+error[E0599]: the method `as_deref` exists for enum `Option<{integer}>`, but its trait bounds were not satisfied
   --> $DIR/option-as_deref.rs:2:29
    |
 LL |     let _result = &Some(42).as_deref();
-   |                             ^^^^^^^^ help: there is an associated function with a similar name: `as_ref`
+   |                             ^^^^^^^^
    |
-   = note: the method `as_deref` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `{integer}: Deref`
            `<{integer} as Deref>::Target = _`
 
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.rs b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.rs
index 11d5378fe30..ff5095ce3d7 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.rs
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.rs
@@ -1,4 +1,4 @@
 fn main() {
     let _result = &mut Some(42).as_deref_mut();
-//~^ ERROR no method named `as_deref_mut` found for enum `Option<{integer}>`
+//~^ ERROR the method
 }
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.stderr b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.stderr
index 08399fcea7c..c86b024de21 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.stderr
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no method named `as_deref_mut` found for enum `Option<{integer}>` in the current scope
+error[E0599]: the method `as_deref_mut` exists for enum `Option<{integer}>`, but its trait bounds were not satisfied
   --> $DIR/option-as_deref_mut.rs:2:33
    |
 LL |     let _result = &mut Some(42).as_deref_mut();
-   |                                 ^^^^^^^^^^^^ method not found in `Option<{integer}>`
+   |                                 ^^^^^^^^^^^^ method cannot be called on `Option<{integer}>` due to unsatisfied trait bounds
    |
-   = note: the method `as_deref_mut` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `{integer}: DerefMut`
            `<{integer} as Deref>::Target = _`
 
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.rs b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.rs
index f713dee507f..4232f14d2d3 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.rs
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.rs
@@ -1,4 +1,4 @@
 fn main() {
     let _result = &Ok(42).as_deref();
-//~^ ERROR no method named `as_deref` found
+//~^ ERROR the method
 }
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.stderr b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.stderr
index 933e8a0c44b..9711e27d8a8 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.stderr
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no method named `as_deref` found for enum `std::result::Result<{integer}, _>` in the current scope
+error[E0599]: the method `as_deref` exists for enum `Result<{integer}, _>`, but its trait bounds were not satisfied
   --> $DIR/result-as_deref.rs:2:27
    |
 LL |     let _result = &Ok(42).as_deref();
-   |                           ^^^^^^^^ help: there is an associated function with a similar name: `as_ref`
+   |                           ^^^^^^^^
    |
-   = note: the method `as_deref` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `{integer}: Deref`
            `<{integer} as Deref>::Target = _`
 
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.rs b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.rs
index 3af7033dd5d..3507d1d8e7e 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.rs
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.rs
@@ -1,4 +1,4 @@
 fn main() {
     let _result = &mut Ok(42).as_deref_mut();
-//~^ ERROR no method named `as_deref_mut` found
+//~^ ERROR the method
 }
diff --git a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.stderr b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.stderr
index 69d85126f10..ee7ea1e6a02 100644
--- a/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.stderr
+++ b/src/test/ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no method named `as_deref_mut` found for enum `std::result::Result<{integer}, _>` in the current scope
+error[E0599]: the method `as_deref_mut` exists for enum `Result<{integer}, _>`, but its trait bounds were not satisfied
   --> $DIR/result-as_deref_mut.rs:2:31
    |
 LL |     let _result = &mut Ok(42).as_deref_mut();
-   |                               ^^^^^^^^^^^^ method not found in `std::result::Result<{integer}, _>`
+   |                               ^^^^^^^^^^^^ method cannot be called on `Result<{integer}, _>` due to unsatisfied trait bounds
    |
-   = note: the method `as_deref_mut` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `{integer}: DerefMut`
            `<{integer} as Deref>::Target = _`
 
diff --git a/src/test/ui/issues/issue-51632-try-desugar-incompatible-types.stderr b/src/test/ui/issues/issue-51632-try-desugar-incompatible-types.stderr
index 9ca983df30a..554ac7e7c75 100644
--- a/src/test/ui/issues/issue-51632-try-desugar-incompatible-types.stderr
+++ b/src/test/ui/issues/issue-51632-try-desugar-incompatible-types.stderr
@@ -2,9 +2,9 @@ error[E0308]: try expression alternatives have incompatible types
   --> $DIR/issue-51632-try-desugar-incompatible-types.rs:8:5
    |
 LL |     missing_discourses()?
-   |     ^^^^^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found `isize`
+   |     ^^^^^^^^^^^^^^^^^^^^^ expected enum `Result`, found `isize`
    |
-   = note: expected enum `std::result::Result<isize, ()>`
+   = note: expected enum `Result<isize, ()>`
               found type `isize`
 help: try removing this `?`
    |
diff --git a/src/test/ui/issues/issue-57362-2.rs b/src/test/ui/issues/issue-57362-2.rs
index 870d7f28ba9..a0b0ea1d038 100644
--- a/src/test/ui/issues/issue-57362-2.rs
+++ b/src/test/ui/issues/issue-57362-2.rs
@@ -19,7 +19,7 @@ impl<'a> X for fn(&'a ()) {
 }
 
 fn g() {
-    let x = <fn (&())>::make_g(); //~ ERROR no function or associated item
+    let x = <fn (&())>::make_g(); //~ ERROR the function
 }
 
 fn main() {}
diff --git a/src/test/ui/issues/issue-57362-2.stderr b/src/test/ui/issues/issue-57362-2.stderr
index 47cc64ec470..3b6cffeafe4 100644
--- a/src/test/ui/issues/issue-57362-2.stderr
+++ b/src/test/ui/issues/issue-57362-2.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no function or associated item named `make_g` found for fn pointer `for<'r> fn(&'r ())` in the current scope
+error[E0599]: the function or associated item `make_g` exists for fn pointer `for<'r> fn(&'r ())`, but its trait bounds were not satisfied
   --> $DIR/issue-57362-2.rs:22:25
    |
 LL |     let x = <fn (&())>::make_g();
-   |                         ^^^^^^ function or associated item not found in `for<'r> fn(&'r ())`
+   |                         ^^^^^^ function or associated item cannot be called on `for<'r> fn(&'r ())` due to unsatisfied trait bounds
    |
-   = note: the method `make_g` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `for<'r> fn(&'r ()): X`
    = help: items from traits can only be used if the trait is implemented and in scope
 note: `X` defines an item `make_g`, perhaps you need to implement it
diff --git a/src/test/ui/issues/issue-6458-4.stderr b/src/test/ui/issues/issue-6458-4.stderr
index 00ebff9007d..0cf82d37d5d 100644
--- a/src/test/ui/issues/issue-6458-4.stderr
+++ b/src/test/ui/issues/issue-6458-4.stderr
@@ -2,13 +2,13 @@ error[E0308]: mismatched types
   --> $DIR/issue-6458-4.rs:1:20
    |
 LL | fn foo(b: bool) -> Result<bool,String> {
-   |    ---             ^^^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found `()`
+   |    ---             ^^^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
    |    |
    |    implicitly returns `()` as its body has no tail or `return` expression
 LL |     Err("bar".to_string());
    |                           - help: consider removing this semicolon
    |
-   = note:   expected enum `std::result::Result<bool, String>`
+   = note:   expected enum `Result<bool, String>`
            found unit type `()`
 
 error: aborting due to previous error
diff --git a/src/test/ui/issues/issue-69725.rs b/src/test/ui/issues/issue-69725.rs
index b8130b41f21..7c77293945e 100644
--- a/src/test/ui/issues/issue-69725.rs
+++ b/src/test/ui/issues/issue-69725.rs
@@ -5,7 +5,7 @@ use issue_69725::Struct;
 
 fn crash<A>() {
     let _ = Struct::<A>::new().clone();
-    //~^ ERROR: no method named `clone` found
+    //~^ ERROR: the method
 }
 
 fn main() {}
diff --git a/src/test/ui/issues/issue-69725.stderr b/src/test/ui/issues/issue-69725.stderr
index 3f70dbcc2a0..48c71d76af0 100644
--- a/src/test/ui/issues/issue-69725.stderr
+++ b/src/test/ui/issues/issue-69725.stderr
@@ -1,8 +1,8 @@
-error[E0599]: no method named `clone` found for struct `Struct<A>` in the current scope
+error[E0599]: the method `clone` exists for struct `Struct<A>`, but its trait bounds were not satisfied
   --> $DIR/issue-69725.rs:7:32
    |
 LL |     let _ = Struct::<A>::new().clone();
-   |                                ^^^^^ method not found in `Struct<A>`
+   |                                ^^^^^ method cannot be called on `Struct<A>` due to unsatisfied trait bounds
    | 
   ::: $DIR/auxiliary/issue-69725.rs:2:1
    |
@@ -17,7 +17,7 @@ LL |     fn clone(&self) -> Self;
    |        the method is available for `Arc<Struct<A>>` here
    |        the method is available for `Rc<Struct<A>>` here
    |
-   = note: the method `clone` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `A: Clone`
            which is required by `Struct<A>: Clone`
 
diff --git a/src/test/ui/issues/issue-80607.stderr b/src/test/ui/issues/issue-80607.stderr
index 5375478942b..22a660b4167 100644
--- a/src/test/ui/issues/issue-80607.stderr
+++ b/src/test/ui/issues/issue-80607.stderr
@@ -7,7 +7,7 @@ LL |     V1(i32),
 LL |     Enum::V1 { x }
    |     --------   ^ field does not exist
    |     |
-   |     `Enum::V1` is a tuple variant, use the appropriate syntax: `Enum::V1(/* fields */)`
+   |     help: `Enum::V1` is a tuple variant, use the appropriate syntax: `Enum::V1(/* fields */)`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/label/label_misspelled.rs b/src/test/ui/label/label_misspelled.rs
index ebfd5642c9f..e3180b06ecb 100644
--- a/src/test/ui/label/label_misspelled.rs
+++ b/src/test/ui/label/label_misspelled.rs
@@ -1,18 +1,62 @@
+#![warn(unused_labels)]
+
 fn main() {
+    'while_loop: while true { //~ WARN denote infinite loops with
+        //~^ WARN unused label
+        while_loop;
+        //~^ ERROR cannot find value `while_loop` in this scope
+    };
+    'while_let: while let Some(_) = Some(()) {
+        //~^ WARN unused label
+        while_let;
+        //~^ ERROR cannot find value `while_let` in this scope
+    }
+    'for_loop: for _ in 0..3 {
+        //~^ WARN unused label
+        for_loop;
+        //~^ ERROR cannot find value `for_loop` in this scope
+    };
     'LOOP: loop {
+        //~^ WARN unused label
         LOOP;
         //~^ ERROR cannot find value `LOOP` in this scope
     };
+}
+
+fn foo() {
+    'LOOP: loop {
+        break LOOP;
+        //~^ ERROR cannot find value `LOOP` in this scope
+    };
     'while_loop: while true { //~ WARN denote infinite loops with
-        while_loop;
+        break while_loop;
         //~^ ERROR cannot find value `while_loop` in this scope
     };
     'while_let: while let Some(_) = Some(()) {
-        while_let;
+        break while_let;
         //~^ ERROR cannot find value `while_let` in this scope
     }
     'for_loop: for _ in 0..3 {
-        for_loop;
+        break for_loop;
         //~^ ERROR cannot find value `for_loop` in this scope
     };
 }
+
+fn bar() {
+    let foo = ();
+    'while_loop: while true { //~ WARN denote infinite loops with
+        //~^ WARN unused label
+        break foo;
+        //~^ ERROR `break` with value from a `while` loop
+    };
+    'while_let: while let Some(_) = Some(()) {
+        //~^ WARN unused label
+        break foo;
+        //~^ ERROR `break` with value from a `while` loop
+    }
+    'for_loop: for _ in 0..3 {
+        //~^ WARN unused label
+        break foo;
+        //~^ ERROR `break` with value from a `for` loop
+    };
+}
diff --git a/src/test/ui/label/label_misspelled.stderr b/src/test/ui/label/label_misspelled.stderr
index 1368ca4126c..b09695787a4 100644
--- a/src/test/ui/label/label_misspelled.stderr
+++ b/src/test/ui/label/label_misspelled.stderr
@@ -1,47 +1,206 @@
-error[E0425]: cannot find value `LOOP` in this scope
-  --> $DIR/label_misspelled.rs:3:9
-   |
-LL |         LOOP;
-   |         ^^^^
-   |         |
-   |         not found in this scope
-   |         help: a label with a similar name exists: `'LOOP`
-
 error[E0425]: cannot find value `while_loop` in this scope
-  --> $DIR/label_misspelled.rs:7:9
+  --> $DIR/label_misspelled.rs:6:9
    |
+LL |     'while_loop: while true {
+   |     ----------- a label with a similar name exists
+LL |
 LL |         while_loop;
-   |         ^^^^^^^^^^
-   |         |
-   |         not found in this scope
-   |         help: a label with a similar name exists: `'while_loop`
+   |         ^^^^^^^^^^ not found in this scope
 
 error[E0425]: cannot find value `while_let` in this scope
   --> $DIR/label_misspelled.rs:11:9
    |
+LL |     'while_let: while let Some(_) = Some(()) {
+   |     ---------- a label with a similar name exists
+LL |
 LL |         while_let;
-   |         ^^^^^^^^^
-   |         |
-   |         not found in this scope
-   |         help: a label with a similar name exists: `'while_let`
+   |         ^^^^^^^^^ not found in this scope
 
 error[E0425]: cannot find value `for_loop` in this scope
-  --> $DIR/label_misspelled.rs:15:9
+  --> $DIR/label_misspelled.rs:16:9
    |
+LL |     'for_loop: for _ in 0..3 {
+   |     --------- a label with a similar name exists
+LL |
 LL |         for_loop;
-   |         ^^^^^^^^
-   |         |
-   |         not found in this scope
-   |         help: a label with a similar name exists: `'for_loop`
+   |         ^^^^^^^^ not found in this scope
+
+error[E0425]: cannot find value `LOOP` in this scope
+  --> $DIR/label_misspelled.rs:21:9
+   |
+LL |     'LOOP: loop {
+   |     ----- a label with a similar name exists
+LL |
+LL |         LOOP;
+   |         ^^^^ not found in this scope
+
+error[E0425]: cannot find value `LOOP` in this scope
+  --> $DIR/label_misspelled.rs:28:15
+   |
+LL |     'LOOP: loop {
+   |     ----- a label with a similar name exists
+LL |         break LOOP;
+   |               ^^^^
+   |               |
+   |               not found in this scope
+   |               help: use the similarly named label: `'LOOP`
+
+error[E0425]: cannot find value `while_loop` in this scope
+  --> $DIR/label_misspelled.rs:32:15
+   |
+LL |     'while_loop: while true {
+   |     ----------- a label with a similar name exists
+LL |         break while_loop;
+   |               ^^^^^^^^^^
+   |               |
+   |               not found in this scope
+   |               help: use the similarly named label: `'while_loop`
+
+error[E0425]: cannot find value `while_let` in this scope
+  --> $DIR/label_misspelled.rs:36:15
+   |
+LL |     'while_let: while let Some(_) = Some(()) {
+   |     ---------- a label with a similar name exists
+LL |         break while_let;
+   |               ^^^^^^^^^
+   |               |
+   |               not found in this scope
+   |               help: use the similarly named label: `'while_let`
+
+error[E0425]: cannot find value `for_loop` in this scope
+  --> $DIR/label_misspelled.rs:40:15
+   |
+LL |     'for_loop: for _ in 0..3 {
+   |     --------- a label with a similar name exists
+LL |         break for_loop;
+   |               ^^^^^^^^
+   |               |
+   |               not found in this scope
+   |               help: use the similarly named label: `'for_loop`
+
+warning: unused label
+  --> $DIR/label_misspelled.rs:4:5
+   |
+LL |     'while_loop: while true {
+   |     ^^^^^^^^^^^
+   |
+note: the lint level is defined here
+  --> $DIR/label_misspelled.rs:1:9
+   |
+LL | #![warn(unused_labels)]
+   |         ^^^^^^^^^^^^^
 
 warning: denote infinite loops with `loop { ... }`
-  --> $DIR/label_misspelled.rs:6:5
+  --> $DIR/label_misspelled.rs:4:5
    |
 LL |     'while_loop: while true {
    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `loop`
    |
    = note: `#[warn(while_true)]` on by default
 
-error: aborting due to 4 previous errors; 1 warning emitted
+warning: unused label
+  --> $DIR/label_misspelled.rs:9:5
+   |
+LL |     'while_let: while let Some(_) = Some(()) {
+   |     ^^^^^^^^^^
+
+warning: unused label
+  --> $DIR/label_misspelled.rs:14:5
+   |
+LL |     'for_loop: for _ in 0..3 {
+   |     ^^^^^^^^^
+
+warning: unused label
+  --> $DIR/label_misspelled.rs:19:5
+   |
+LL |     'LOOP: loop {
+   |     ^^^^^
+
+warning: denote infinite loops with `loop { ... }`
+  --> $DIR/label_misspelled.rs:31:5
+   |
+LL |     'while_loop: while true {
+   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `loop`
+
+warning: unused label
+  --> $DIR/label_misspelled.rs:47:5
+   |
+LL |     'while_loop: while true {
+   |     ^^^^^^^^^^^
+
+warning: denote infinite loops with `loop { ... }`
+  --> $DIR/label_misspelled.rs:47:5
+   |
+LL |     'while_loop: while true {
+   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `loop`
+
+warning: unused label
+  --> $DIR/label_misspelled.rs:52:5
+   |
+LL |     'while_let: while let Some(_) = Some(()) {
+   |     ^^^^^^^^^^
+
+warning: unused label
+  --> $DIR/label_misspelled.rs:57:5
+   |
+LL |     'for_loop: for _ in 0..3 {
+   |     ^^^^^^^^^
+
+error[E0571]: `break` with value from a `while` loop
+  --> $DIR/label_misspelled.rs:49:9
+   |
+LL |     'while_loop: while true {
+   |     ----------------------- you can't `break` with a value in a `while` loop
+LL |
+LL |         break foo;
+   |         ^^^^^^^^^ can only break with a value inside `loop` or breakable block
+   |
+help: use `break` on its own without a value inside this `while` loop
+   |
+LL |         break;
+   |         ^^^^^
+help: alternatively, you might have meant to use the available loop label
+   |
+LL |         break 'while_loop;
+   |               ^^^^^^^^^^^
+
+error[E0571]: `break` with value from a `while` loop
+  --> $DIR/label_misspelled.rs:54:9
+   |
+LL |     'while_let: while let Some(_) = Some(()) {
+   |     ---------------------------------------- you can't `break` with a value in a `while` loop
+LL |
+LL |         break foo;
+   |         ^^^^^^^^^ can only break with a value inside `loop` or breakable block
+   |
+help: use `break` on its own without a value inside this `while` loop
+   |
+LL |         break;
+   |         ^^^^^
+help: alternatively, you might have meant to use the available loop label
+   |
+LL |         break 'while_let;
+   |               ^^^^^^^^^^
+
+error[E0571]: `break` with value from a `for` loop
+  --> $DIR/label_misspelled.rs:59:9
+   |
+LL |     'for_loop: for _ in 0..3 {
+   |     ------------------------ you can't `break` with a value in a `for` loop
+LL |
+LL |         break foo;
+   |         ^^^^^^^^^ can only break with a value inside `loop` or breakable block
+   |
+help: use `break` on its own without a value inside this `for` loop
+   |
+LL |         break;
+   |         ^^^^^
+help: alternatively, you might have meant to use the available loop label
+   |
+LL |         break 'for_loop;
+   |               ^^^^^^^^^
+
+error: aborting due to 11 previous errors; 10 warnings emitted
 
-For more information about this error, try `rustc --explain E0425`.
+Some errors have detailed explanations: E0425, E0571.
+For more information about an error, try `rustc --explain E0425`.
diff --git a/src/test/ui/label/label_misspelled_2.rs b/src/test/ui/label/label_misspelled_2.rs
new file mode 100644
index 00000000000..55bbe6b30a5
--- /dev/null
+++ b/src/test/ui/label/label_misspelled_2.rs
@@ -0,0 +1,16 @@
+#![warn(unused_labels)]
+
+fn main() {
+    'a: for _ in 0..1 {
+        break 'a;
+    }
+    'b: for _ in 0..1 {
+        break b; //~ ERROR cannot find value `b` in this scope
+    }
+    c: for _ in 0..1 { //~ ERROR malformed loop label
+        break 'c;
+    }
+    d: for _ in 0..1 { //~ ERROR malformed loop label
+        break d; //~ ERROR cannot find value `d` in this scope
+    }
+}
diff --git a/src/test/ui/label/label_misspelled_2.stderr b/src/test/ui/label/label_misspelled_2.stderr
new file mode 100644
index 00000000000..960646d9894
--- /dev/null
+++ b/src/test/ui/label/label_misspelled_2.stderr
@@ -0,0 +1,37 @@
+error: malformed loop label
+  --> $DIR/label_misspelled_2.rs:10:5
+   |
+LL |     c: for _ in 0..1 {
+   |     ^ help: use the correct loop label format: `'c`
+
+error: malformed loop label
+  --> $DIR/label_misspelled_2.rs:13:5
+   |
+LL |     d: for _ in 0..1 {
+   |     ^ help: use the correct loop label format: `'d`
+
+error[E0425]: cannot find value `b` in this scope
+  --> $DIR/label_misspelled_2.rs:8:15
+   |
+LL |     'b: for _ in 0..1 {
+   |     -- a label with a similar name exists
+LL |         break b;
+   |               ^
+   |               |
+   |               not found in this scope
+   |               help: use the similarly named label: `'b`
+
+error[E0425]: cannot find value `d` in this scope
+  --> $DIR/label_misspelled_2.rs:14:15
+   |
+LL |     d: for _ in 0..1 {
+   |     - a label with a similar name exists
+LL |         break d;
+   |               ^
+   |               |
+   |               not found in this scope
+   |               help: use the similarly named label: `'d`
+
+error: aborting due to 4 previous errors
+
+For more information about this error, try `rustc --explain E0425`.
diff --git a/src/test/ui/lifetimes/lifetime-bound-will-change-warning.nll.stderr b/src/test/ui/lifetimes/lifetime-bound-will-change-warning.nll.stderr
index 60420973e1e..57dab46df6b 100644
--- a/src/test/ui/lifetimes/lifetime-bound-will-change-warning.nll.stderr
+++ b/src/test/ui/lifetimes/lifetime-bound-will-change-warning.nll.stderr
@@ -22,3 +22,4 @@ LL |     lib::ref_obj(x)
 
 error: aborting due to 2 previous errors
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/lifetimes/lifetime-elision-return-type-trait.stderr b/src/test/ui/lifetimes/lifetime-elision-return-type-trait.stderr
index c3d597bec2e..ef1127c59ac 100644
--- a/src/test/ui/lifetimes/lifetime-elision-return-type-trait.stderr
+++ b/src/test/ui/lifetimes/lifetime-elision-return-type-trait.stderr
@@ -1,8 +1,8 @@
-error[E0277]: the trait bound `std::result::Result<(), _>: Future` is not satisfied
+error[E0277]: the trait bound `Result<(), _>: Future` is not satisfied
   --> $DIR/lifetime-elision-return-type-trait.rs:8:13
    |
 LL | fn foo() -> impl Future<Item=(), Error=Box<dyn Error>> {
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Future` is not implemented for `std::result::Result<(), _>`
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Future` is not implemented for `Result<(), _>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/huge-array-simple-32.rs b/src/test/ui/limits/huge-array-simple-32.rs
index 2290e3d5e76..2290e3d5e76 100644
--- a/src/test/ui/huge-array-simple-32.rs
+++ b/src/test/ui/limits/huge-array-simple-32.rs
diff --git a/src/test/ui/huge-array-simple-32.stderr b/src/test/ui/limits/huge-array-simple-32.stderr
index 31e120df626..31e120df626 100644
--- a/src/test/ui/huge-array-simple-32.stderr
+++ b/src/test/ui/limits/huge-array-simple-32.stderr
diff --git a/src/test/ui/huge-array-simple-64.rs b/src/test/ui/limits/huge-array-simple-64.rs
index 02c961fc5fa..02c961fc5fa 100644
--- a/src/test/ui/huge-array-simple-64.rs
+++ b/src/test/ui/limits/huge-array-simple-64.rs
diff --git a/src/test/ui/huge-array-simple-64.stderr b/src/test/ui/limits/huge-array-simple-64.stderr
index c5d3fe85d0d..c5d3fe85d0d 100644
--- a/src/test/ui/huge-array-simple-64.stderr
+++ b/src/test/ui/limits/huge-array-simple-64.stderr
diff --git a/src/test/ui/huge-array.rs b/src/test/ui/limits/huge-array.rs
index 3070801f865..3070801f865 100644
--- a/src/test/ui/huge-array.rs
+++ b/src/test/ui/limits/huge-array.rs
diff --git a/src/test/ui/huge-array.stderr b/src/test/ui/limits/huge-array.stderr
index 817458b73e4..817458b73e4 100644
--- a/src/test/ui/huge-array.stderr
+++ b/src/test/ui/limits/huge-array.stderr
diff --git a/src/test/ui/huge-enum.rs b/src/test/ui/limits/huge-enum.rs
index 39ea6e11b1f..39ea6e11b1f 100644
--- a/src/test/ui/huge-enum.rs
+++ b/src/test/ui/limits/huge-enum.rs
diff --git a/src/test/ui/huge-enum.stderr b/src/test/ui/limits/huge-enum.stderr
index a1456e1a8ab..a1456e1a8ab 100644
--- a/src/test/ui/huge-enum.stderr
+++ b/src/test/ui/limits/huge-enum.stderr
diff --git a/src/test/ui/huge-struct.rs b/src/test/ui/limits/huge-struct.rs
index 02f38d860b4..02f38d860b4 100644
--- a/src/test/ui/huge-struct.rs
+++ b/src/test/ui/limits/huge-struct.rs
diff --git a/src/test/ui/huge-struct.stderr b/src/test/ui/limits/huge-struct.stderr
index f0ee88e5955..f0ee88e5955 100644
--- a/src/test/ui/huge-struct.stderr
+++ b/src/test/ui/limits/huge-struct.stderr
diff --git a/src/test/ui/issues/issue-15919-32.rs b/src/test/ui/limits/issue-15919-32.rs
index 3c93f14ccc7..3c93f14ccc7 100644
--- a/src/test/ui/issues/issue-15919-32.rs
+++ b/src/test/ui/limits/issue-15919-32.rs
diff --git a/src/test/ui/issues/issue-15919-32.stderr b/src/test/ui/limits/issue-15919-32.stderr
index 133637f9a05..133637f9a05 100644
--- a/src/test/ui/issues/issue-15919-32.stderr
+++ b/src/test/ui/limits/issue-15919-32.stderr
diff --git a/src/test/ui/issues/issue-15919-64.rs b/src/test/ui/limits/issue-15919-64.rs
index 3ecbd34eaaa..3ecbd34eaaa 100644
--- a/src/test/ui/issues/issue-15919-64.rs
+++ b/src/test/ui/limits/issue-15919-64.rs
diff --git a/src/test/ui/issues/issue-15919-64.stderr b/src/test/ui/limits/issue-15919-64.stderr
index 193b823035c..193b823035c 100644
--- a/src/test/ui/issues/issue-15919-64.stderr
+++ b/src/test/ui/limits/issue-15919-64.stderr
diff --git a/src/test/ui/issues/issue-17913.rs b/src/test/ui/limits/issue-17913.rs
index ca13b9bd6ae..ca13b9bd6ae 100644
--- a/src/test/ui/issues/issue-17913.rs
+++ b/src/test/ui/limits/issue-17913.rs
diff --git a/src/test/ui/issues/issue-17913.stderr b/src/test/ui/limits/issue-17913.stderr
index 9a6431d4470..9a6431d4470 100644
--- a/src/test/ui/issues/issue-17913.stderr
+++ b/src/test/ui/limits/issue-17913.stderr
diff --git a/src/test/ui/consts/issue-55878.rs b/src/test/ui/limits/issue-55878.rs
index c1c54646db8..c1c54646db8 100644
--- a/src/test/ui/consts/issue-55878.rs
+++ b/src/test/ui/limits/issue-55878.rs
diff --git a/src/test/ui/consts/issue-55878.stderr b/src/test/ui/limits/issue-55878.stderr
index 924910e9cb6..a0e8fc70b6a 100644
--- a/src/test/ui/consts/issue-55878.stderr
+++ b/src/test/ui/limits/issue-55878.stderr
@@ -2,15 +2,12 @@ error[E0080]: values of the type `[u8; SIZE]` are too big for the current archit
   --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
    |
 LL |     intrinsics::size_of::<T>()
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |     |
-   |     inside `std::mem::size_of::<[u8; SIZE]>` at $SRC_DIR/core/src/mem/mod.rs:LL:COL
-   |     inside `main` at $DIR/issue-55878.rs:7:26
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ inside `std::mem::size_of::<[u8; SIZE]>` at $SRC_DIR/core/src/mem/mod.rs:LL:COL
    | 
   ::: $DIR/issue-55878.rs:7:26
    |
 LL |     println!("Size: {}", std::mem::size_of::<[u8; u64::MAX as usize]>());
-   |                          ----------------------------------------------
+   |                          ---------------------------------------------- inside `main` at $DIR/issue-55878.rs:7:26
 
 error: erroneous constant used
   --> $DIR/issue-55878.rs:7:26
@@ -19,6 +16,8 @@ LL |     println!("Size: {}", std::mem::size_of::<[u8; u64::MAX as usize]>());
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors
    |
    = note: `#[deny(const_err)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/issues/issue-56762.rs b/src/test/ui/limits/issue-56762.rs
index fb0a270f18b..fb0a270f18b 100644
--- a/src/test/ui/issues/issue-56762.rs
+++ b/src/test/ui/limits/issue-56762.rs
diff --git a/src/test/ui/issues/issue-56762.stderr b/src/test/ui/limits/issue-56762.stderr
index f26ef280b20..f26ef280b20 100644
--- a/src/test/ui/issues/issue-56762.stderr
+++ b/src/test/ui/limits/issue-56762.stderr
diff --git a/src/test/ui/lint/issue-69485-var-size-diffs-too-large.rs b/src/test/ui/limits/issue-69485-var-size-diffs-too-large.rs
index 2560ffe168b..2560ffe168b 100644
--- a/src/test/ui/lint/issue-69485-var-size-diffs-too-large.rs
+++ b/src/test/ui/limits/issue-69485-var-size-diffs-too-large.rs
diff --git a/src/test/ui/lint/issue-69485-var-size-diffs-too-large.stderr b/src/test/ui/limits/issue-69485-var-size-diffs-too-large.stderr
index c229458da47..c229458da47 100644
--- a/src/test/ui/lint/issue-69485-var-size-diffs-too-large.stderr
+++ b/src/test/ui/limits/issue-69485-var-size-diffs-too-large.stderr
diff --git a/src/test/ui/limits/issue-75158-64.rs b/src/test/ui/limits/issue-75158-64.rs
new file mode 100644
index 00000000000..06c209c078f
--- /dev/null
+++ b/src/test/ui/limits/issue-75158-64.rs
@@ -0,0 +1,16 @@
+//~ ERROR
+
+// build-fail
+// ignore-32bit
+
+struct S<T> {
+    x: [T; !0],
+}
+
+pub fn f() -> usize {
+    std::mem::size_of::<S<u8>>()
+}
+
+fn main() {
+    let x = f();
+}
diff --git a/src/test/ui/limits/issue-75158-64.stderr b/src/test/ui/limits/issue-75158-64.stderr
new file mode 100644
index 00000000000..dc11d056154
--- /dev/null
+++ b/src/test/ui/limits/issue-75158-64.stderr
@@ -0,0 +1,4 @@
+error: values of the type `[u8; 18446744073709551615]` are too big for the current architecture
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/lint/dead-code/const-and-self.rs b/src/test/ui/lint/dead-code/const-and-self.rs
index 1a7b3f43cda..0bcdd6edf0d 100644
--- a/src/test/ui/lint/dead-code/const-and-self.rs
+++ b/src/test/ui/lint/dead-code/const-and-self.rs
@@ -1,6 +1,6 @@
 // check-pass
 
-#![deny(dead_code)]
+#![warn(dead_code)]
 
 const TLC: usize = 4;
 
@@ -28,8 +28,27 @@ impl Foo<Y> for X {
     }
 }
 
+enum E {
+    A,
+    B, //~ WARN variant is never constructed: `B`
+    C, //~ WARN variant is never constructed: `C`
+}
+
+type F = E;
+
+impl E {
+    fn check(&self) -> bool {
+        match self {
+            Self::A => true,
+            Self::B => false,
+            F::C => false,
+        }
+    }
+}
+
 fn main() {
     let s = [0,1,2,3];
     s.doit();
     X::foo();
+    E::A.check();
 }
diff --git a/src/test/ui/lint/dead-code/const-and-self.stderr b/src/test/ui/lint/dead-code/const-and-self.stderr
new file mode 100644
index 00000000000..c0e406189e8
--- /dev/null
+++ b/src/test/ui/lint/dead-code/const-and-self.stderr
@@ -0,0 +1,20 @@
+warning: variant is never constructed: `B`
+  --> $DIR/const-and-self.rs:33:5
+   |
+LL |     B,
+   |     ^
+   |
+note: the lint level is defined here
+  --> $DIR/const-and-self.rs:3:9
+   |
+LL | #![warn(dead_code)]
+   |         ^^^^^^^^^
+
+warning: variant is never constructed: `C`
+  --> $DIR/const-and-self.rs:34:5
+   |
+LL |     C,
+   |     ^
+
+warning: 2 warnings emitted
+
diff --git a/src/test/ui/lint/dead-code/write-only-field.rs b/src/test/ui/lint/dead-code/write-only-field.rs
new file mode 100644
index 00000000000..78cfcfda8f9
--- /dev/null
+++ b/src/test/ui/lint/dead-code/write-only-field.rs
@@ -0,0 +1,20 @@
+#![deny(dead_code)]
+
+struct S {
+    f: i32, //~ ERROR: field is never read
+    sub: Sub, //~ ERROR: field is never read
+}
+
+struct Sub {
+    f: i32, //~ ERROR: field is never read
+}
+
+fn field_write(s: &mut S) {
+    s.f = 1;
+    s.sub.f = 2;
+}
+
+fn main() {
+    let mut s = S { f: 0, sub: Sub { f: 0 } };
+    field_write(&mut s);
+}
diff --git a/src/test/ui/lint/dead-code/write-only-field.stderr b/src/test/ui/lint/dead-code/write-only-field.stderr
new file mode 100644
index 00000000000..70d2149665b
--- /dev/null
+++ b/src/test/ui/lint/dead-code/write-only-field.stderr
@@ -0,0 +1,26 @@
+error: field is never read: `f`
+  --> $DIR/write-only-field.rs:4:5
+   |
+LL |     f: i32,
+   |     ^^^^^^
+   |
+note: the lint level is defined here
+  --> $DIR/write-only-field.rs:1:9
+   |
+LL | #![deny(dead_code)]
+   |         ^^^^^^^^^
+
+error: field is never read: `sub`
+  --> $DIR/write-only-field.rs:5:5
+   |
+LL |     sub: Sub,
+   |     ^^^^^^^^
+
+error: field is never read: `f`
+  --> $DIR/write-only-field.rs:9:5
+   |
+LL |     f: i32,
+   |     ^^^^^^
+
+error: aborting due to 3 previous errors
+
diff --git a/src/test/ui/lint/forbid-group-group-1.rs b/src/test/ui/lint/forbid-group-group-1.rs
new file mode 100644
index 00000000000..80f7db4e560
--- /dev/null
+++ b/src/test/ui/lint/forbid-group-group-1.rs
@@ -0,0 +1,13 @@
+// Check what happens when we forbid a smaller group but
+// then allow a superset of that group.
+
+#![forbid(nonstandard_style)]
+
+// FIXME: Arguably this should be an error, but the WARNINGS group is
+// treated in a very special (and rather ad-hoc) way and
+// it fails to trigger.
+#[allow(warnings)]
+fn main() {
+    let A: ();
+    //~^ ERROR should have a snake case name
+}
diff --git a/src/test/ui/lint/forbid-group-group-1.stderr b/src/test/ui/lint/forbid-group-group-1.stderr
new file mode 100644
index 00000000000..fd425e5f74e
--- /dev/null
+++ b/src/test/ui/lint/forbid-group-group-1.stderr
@@ -0,0 +1,15 @@
+error: variable `A` should have a snake case name
+  --> $DIR/forbid-group-group-1.rs:11:9
+   |
+LL |     let A: ();
+   |         ^ help: convert the identifier to snake case: `a`
+   |
+note: the lint level is defined here
+  --> $DIR/forbid-group-group-1.rs:4:11
+   |
+LL | #![forbid(nonstandard_style)]
+   |           ^^^^^^^^^^^^^^^^^
+   = note: `#[forbid(non_snake_case)]` implied by `#[forbid(nonstandard_style)]`
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/lint/forbid-group-group-2.rs b/src/test/ui/lint/forbid-group-group-2.rs
new file mode 100644
index 00000000000..b12fd72da74
--- /dev/null
+++ b/src/test/ui/lint/forbid-group-group-2.rs
@@ -0,0 +1,26 @@
+// Check what happens when we forbid a bigger group but
+// then deny a subset of that group.
+
+#![forbid(warnings)]
+#![deny(forbidden_lint_groups)]
+
+#[allow(nonstandard_style)]
+//~^ ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+//~| ERROR incompatible with previous
+//~| WARNING previously accepted by the compiler
+fn main() {}
diff --git a/src/test/ui/lint/forbid-group-group-2.stderr b/src/test/ui/lint/forbid-group-group-2.stderr
new file mode 100644
index 00000000000..214e949c11a
--- /dev/null
+++ b/src/test/ui/lint/forbid-group-group-2.stderr
@@ -0,0 +1,115 @@
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+note: the lint level is defined here
+  --> $DIR/forbid-group-group-2.rs:5:9
+   |
+LL | #![deny(forbidden_lint_groups)]
+   |         ^^^^^^^^^^^^^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: allow(nonstandard_style) incompatible with previous forbid
+  --> $DIR/forbid-group-group-2.rs:7:9
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+...
+LL | #[allow(nonstandard_style)]
+   |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: aborting due to 9 previous errors
+
diff --git a/src/test/ui/lint/forbid-group-member.rs b/src/test/ui/lint/forbid-group-member.rs
new file mode 100644
index 00000000000..6f1b2e9f668
--- /dev/null
+++ b/src/test/ui/lint/forbid-group-member.rs
@@ -0,0 +1,19 @@
+// Check what happens when we forbid a group but
+// then allow a member of that group.
+//
+// check-pass
+
+#![forbid(unused)]
+
+#[allow(unused_variables)]
+//~^ WARNING incompatible with previous forbid
+//~| WARNING previously accepted
+//~| WARNING incompatible with previous forbid
+//~| WARNING previously accepted
+//~| WARNING incompatible with previous forbid
+//~| WARNING previously accepted
+//~| WARNING incompatible with previous forbid
+//~| WARNING previously accepted
+fn main() {
+    let a: ();
+}
diff --git a/src/test/ui/lint/forbid-group-member.stderr b/src/test/ui/lint/forbid-group-member.stderr
new file mode 100644
index 00000000000..c818d7ff606
--- /dev/null
+++ b/src/test/ui/lint/forbid-group-member.stderr
@@ -0,0 +1,51 @@
+warning: allow(unused_variables) incompatible with previous forbid
+  --> $DIR/forbid-group-member.rs:8:9
+   |
+LL | #![forbid(unused)]
+   |           ------ `forbid` level set here
+LL | 
+LL | #[allow(unused_variables)]
+   |         ^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = note: `#[warn(forbidden_lint_groups)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: allow(unused_variables) incompatible with previous forbid
+  --> $DIR/forbid-group-member.rs:8:9
+   |
+LL | #![forbid(unused)]
+   |           ------ `forbid` level set here
+LL | 
+LL | #[allow(unused_variables)]
+   |         ^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: allow(unused_variables) incompatible with previous forbid
+  --> $DIR/forbid-group-member.rs:8:9
+   |
+LL | #![forbid(unused)]
+   |           ------ `forbid` level set here
+LL | 
+LL | #[allow(unused_variables)]
+   |         ^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: allow(unused_variables) incompatible with previous forbid
+  --> $DIR/forbid-group-member.rs:8:9
+   |
+LL | #![forbid(unused)]
+   |           ------ `forbid` level set here
+LL | 
+LL | #[allow(unused_variables)]
+   |         ^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: 4 warnings emitted
+
diff --git a/src/test/ui/lint/forbid-member-group.rs b/src/test/ui/lint/forbid-member-group.rs
new file mode 100644
index 00000000000..3279029a9cb
--- /dev/null
+++ b/src/test/ui/lint/forbid-member-group.rs
@@ -0,0 +1,12 @@
+// Check what happens when we forbid a member of
+// a group but then allow the group.
+
+#![forbid(unused_variables)]
+
+#[allow(unused)]
+//~^ ERROR incompatible with previous forbid
+//~| ERROR incompatible with previous forbid
+//~| ERROR incompatible with previous forbid
+fn main() {
+    let a: ();
+}
diff --git a/src/test/ui/lint/forbid-member-group.stderr b/src/test/ui/lint/forbid-member-group.stderr
new file mode 100644
index 00000000000..1d8ab4d5edb
--- /dev/null
+++ b/src/test/ui/lint/forbid-member-group.stderr
@@ -0,0 +1,30 @@
+error[E0453]: allow(unused) incompatible with previous forbid
+  --> $DIR/forbid-member-group.rs:6:9
+   |
+LL | #![forbid(unused_variables)]
+   |           ---------------- `forbid` level set here
+LL | 
+LL | #[allow(unused)]
+   |         ^^^^^^ overruled by previous forbid
+
+error[E0453]: allow(unused) incompatible with previous forbid
+  --> $DIR/forbid-member-group.rs:6:9
+   |
+LL | #![forbid(unused_variables)]
+   |           ---------------- `forbid` level set here
+LL | 
+LL | #[allow(unused)]
+   |         ^^^^^^ overruled by previous forbid
+
+error[E0453]: allow(unused) incompatible with previous forbid
+  --> $DIR/forbid-member-group.rs:6:9
+   |
+LL | #![forbid(unused_variables)]
+   |           ---------------- `forbid` level set here
+LL | 
+LL | #[allow(unused)]
+   |         ^^^^^^ overruled by previous forbid
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/issues/issue-14309.rs b/src/test/ui/lint/issue-14309.rs
index 328a4c982b8..328a4c982b8 100644
--- a/src/test/ui/issues/issue-14309.rs
+++ b/src/test/ui/lint/issue-14309.rs
diff --git a/src/test/ui/issues/issue-14309.stderr b/src/test/ui/lint/issue-14309.stderr
index 799991f7ee4..799991f7ee4 100644
--- a/src/test/ui/issues/issue-14309.stderr
+++ b/src/test/ui/lint/issue-14309.stderr
diff --git a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs b/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs
index f725304cf29..05d7d924c8f 100644
--- a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs
+++ b/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs
@@ -14,14 +14,17 @@
 
 // compile-flags: -Z deduplicate-diagnostics=yes
 
+#![forbid(forbidden_lint_groups)]
+
 fn forbid_first(num: i32) -> i32 {
     #![forbid(unused)]
     #![deny(unused)]
     //~^ ERROR: deny(unused) incompatible with previous forbid
+    //~| WARNING being phased out
+    //~| ERROR: deny(unused) incompatible with previous forbid
+    //~| WARNING being phased out
     #![warn(unused)]
-    //~^ ERROR: warn(unused) incompatible with previous forbid
     #![allow(unused)]
-    //~^ ERROR: allow(unused) incompatible with previous forbid
 
     num * num
 }
diff --git a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr b/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr
index 9f107411c10..475410cecff 100644
--- a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr
+++ b/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr
@@ -1,29 +1,29 @@
-error[E0453]: deny(unused) incompatible with previous forbid
-  --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:19:13
+error: deny(unused) incompatible with previous forbid
+  --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:21:13
    |
 LL |     #![forbid(unused)]
    |               ------ `forbid` level set here
 LL |     #![deny(unused)]
    |             ^^^^^^ overruled by previous forbid
+   |
+note: the lint level is defined here
+  --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:17:11
+   |
+LL | #![forbid(forbidden_lint_groups)]
+   |           ^^^^^^^^^^^^^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
 
-error[E0453]: warn(unused) incompatible with previous forbid
+error: deny(unused) incompatible with previous forbid
   --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:21:13
    |
 LL |     #![forbid(unused)]
    |               ------ `forbid` level set here
-...
-LL |     #![warn(unused)]
+LL |     #![deny(unused)]
    |             ^^^^^^ overruled by previous forbid
-
-error[E0453]: allow(unused) incompatible with previous forbid
-  --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:23:14
    |
-LL |     #![forbid(unused)]
-   |               ------ `forbid` level set here
-...
-LL |     #![allow(unused)]
-   |              ^^^^^^ overruled by previous forbid
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
 
-error: aborting due to 3 previous errors
+error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/issue-80988.rs b/src/test/ui/lint/issue-80988.rs
new file mode 100644
index 00000000000..16a041928db
--- /dev/null
+++ b/src/test/ui/lint/issue-80988.rs
@@ -0,0 +1,16 @@
+// Regression test for #80988
+//
+// check-pass
+
+#![forbid(warnings)]
+
+#[deny(warnings)]
+//~^ WARNING incompatible with previous forbid
+//~| WARNING being phased out
+//~| WARNING incompatible with previous forbid
+//~| WARNING being phased out
+//~| WARNING incompatible with previous forbid
+//~| WARNING being phased out
+//~| WARNING incompatible with previous forbid
+//~| WARNING being phased out
+fn main() {}
diff --git a/src/test/ui/lint/issue-80988.stderr b/src/test/ui/lint/issue-80988.stderr
new file mode 100644
index 00000000000..4cae11f97c0
--- /dev/null
+++ b/src/test/ui/lint/issue-80988.stderr
@@ -0,0 +1,51 @@
+warning: deny(warnings) incompatible with previous forbid
+  --> $DIR/issue-80988.rs:7:8
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+LL | 
+LL | #[deny(warnings)]
+   |        ^^^^^^^^ overruled by previous forbid
+   |
+   = note: `#[warn(forbidden_lint_groups)]` on by default
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: deny(warnings) incompatible with previous forbid
+  --> $DIR/issue-80988.rs:7:8
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+LL | 
+LL | #[deny(warnings)]
+   |        ^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: deny(warnings) incompatible with previous forbid
+  --> $DIR/issue-80988.rs:7:8
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+LL | 
+LL | #[deny(warnings)]
+   |        ^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: deny(warnings) incompatible with previous forbid
+  --> $DIR/issue-80988.rs:7:8
+   |
+LL | #![forbid(warnings)]
+   |           -------- `forbid` level set here
+LL | 
+LL | #[deny(warnings)]
+   |        ^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+warning: 4 warnings emitted
+
diff --git a/src/test/ui/lint/issue-81218.rs b/src/test/ui/lint/issue-81218.rs
new file mode 100644
index 00000000000..f02aa9040eb
--- /dev/null
+++ b/src/test/ui/lint/issue-81218.rs
@@ -0,0 +1,14 @@
+// Regression test for #81218
+//
+// check-pass
+
+#![forbid(warnings)]
+
+#[allow(unused_variables)]
+fn main() {
+    // We want to ensure that you don't get an error
+    // here. The idea is that a derive might generate
+    // code that would otherwise trigger the "unused variables"
+    // lint, but it is meant to be suppressed.
+    let x: ();
+}
diff --git a/src/test/ui/lint/lint-const-item-mutation.stderr b/src/test/ui/lint/lint-const-item-mutation.stderr
index 3973af540c8..540e076c7e4 100644
--- a/src/test/ui/lint/lint-const-item-mutation.stderr
+++ b/src/test/ui/lint/lint-const-item-mutation.stderr
@@ -109,14 +109,8 @@ LL |     VEC.push(0);
 note: mutable reference created due to call to this method
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
    |
-LL | /     pub fn push(&mut self, value: T) {
-LL | |         // This will panic or abort if we would allocate > isize::MAX bytes
-LL | |         // or if the length increment would overflow for zero-sized types.
-LL | |         if self.len == self.buf.capacity() {
-...  |
-LL | |         }
-LL | |     }
-   | |_____^
+LL |     pub fn push(&mut self, value: T) {
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 note: `const` item defined here
   --> $DIR/lint-const-item-mutation.rs:31:1
    |
diff --git a/src/test/ui/lint/lint-ctypes-enum.stderr b/src/test/ui/lint/lint-ctypes-enum.stderr
index 8917d309e60..f3991ab4177 100644
--- a/src/test/ui/lint/lint-ctypes-enum.stderr
+++ b/src/test/ui/lint/lint-ctypes-enum.stderr
@@ -97,7 +97,7 @@ LL |    fn repr_rust(x: Option<Rust<num::NonZeroU8>>);
    = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
    = note: enum has no representation hint
 
-error: `extern` block uses type `std::result::Result<(), NonZeroI32>`, which is not FFI-safe
+error: `extern` block uses type `Result<(), NonZeroI32>`, which is not FFI-safe
   --> $DIR/lint-ctypes-enum.rs:90:20
    |
 LL |    fn no_result(x: Result<(), num::NonZeroI32>);
diff --git a/src/test/ui/lint/lint-removed-cmdline.stderr b/src/test/ui/lint/lint-removed-cmdline.stderr
index 1c45c38774e..fc2ba92479c 100644
--- a/src/test/ui/lint/lint-removed-cmdline.stderr
+++ b/src/test/ui/lint/lint-removed-cmdline.stderr
@@ -1,16 +1,16 @@
-warning: lint `raw_pointer_derive` has been removed: `using derive with raw pointers is ok`
+warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
    |
    = note: requested on the command line with `-D raw_pointer_derive`
 
-warning: lint `raw_pointer_derive` has been removed: `using derive with raw pointers is ok`
+warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
    |
    = note: requested on the command line with `-D raw_pointer_derive`
 
-warning: lint `raw_pointer_derive` has been removed: `using derive with raw pointers is ok`
+warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
    |
    = note: requested on the command line with `-D raw_pointer_derive`
 
-warning: lint `raw_pointer_derive` has been removed: `using derive with raw pointers is ok`
+warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
    |
    = note: requested on the command line with `-D raw_pointer_derive`
 
diff --git a/src/test/ui/lint/lint-removed.stderr b/src/test/ui/lint/lint-removed.stderr
index 44480d84203..dc0515b8482 100644
--- a/src/test/ui/lint/lint-removed.stderr
+++ b/src/test/ui/lint/lint-removed.stderr
@@ -1,4 +1,4 @@
-warning: lint `raw_pointer_derive` has been removed: `using derive with raw pointers is ok`
+warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
   --> $DIR/lint-removed.rs:6:8
    |
 LL | #[deny(raw_pointer_derive)]
diff --git a/src/test/ui/lint/lint-unexported-no-mangle.stderr b/src/test/ui/lint/lint-unexported-no-mangle.stderr
index 48d9b38a99b..66d64e8937a 100644
--- a/src/test/ui/lint/lint-unexported-no-mangle.stderr
+++ b/src/test/ui/lint/lint-unexported-no-mangle.stderr
@@ -1,32 +1,32 @@
-warning: lint `private_no_mangle_fns` has been removed: `no longer a warning, `#[no_mangle]` functions always exported`
+warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
    |
    = note: requested on the command line with `-F private_no_mangle_fns`
 
-warning: lint `private_no_mangle_statics` has been removed: `no longer a warning, `#[no_mangle]` statics always exported`
+warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
    |
    = note: requested on the command line with `-F private_no_mangle_statics`
 
-warning: lint `private_no_mangle_fns` has been removed: `no longer a warning, `#[no_mangle]` functions always exported`
+warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
    |
    = note: requested on the command line with `-F private_no_mangle_fns`
 
-warning: lint `private_no_mangle_statics` has been removed: `no longer a warning, `#[no_mangle]` statics always exported`
+warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
    |
    = note: requested on the command line with `-F private_no_mangle_statics`
 
-warning: lint `private_no_mangle_fns` has been removed: `no longer a warning, `#[no_mangle]` functions always exported`
+warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
    |
    = note: requested on the command line with `-F private_no_mangle_fns`
 
-warning: lint `private_no_mangle_statics` has been removed: `no longer a warning, `#[no_mangle]` statics always exported`
+warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
    |
    = note: requested on the command line with `-F private_no_mangle_statics`
 
-warning: lint `private_no_mangle_fns` has been removed: `no longer a warning, `#[no_mangle]` functions always exported`
+warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
    |
    = note: requested on the command line with `-F private_no_mangle_fns`
 
-warning: lint `private_no_mangle_statics` has been removed: `no longer a warning, `#[no_mangle]` statics always exported`
+warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
    |
    = note: requested on the command line with `-F private_no_mangle_statics`
 
diff --git a/src/test/ui/lint/must_use-tuple.rs b/src/test/ui/lint/must_use-tuple.rs
index f6b579a7f35..0f0aa20253c 100644
--- a/src/test/ui/lint/must_use-tuple.rs
+++ b/src/test/ui/lint/must_use-tuple.rs
@@ -5,13 +5,13 @@ fn foo() -> (Result<(), ()>, ()) {
 }
 
 fn main() {
-    (Ok::<(), ()>(()),); //~ ERROR unused `std::result::Result`
+    (Ok::<(), ()>(()),); //~ ERROR unused `Result`
 
     (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
-    //~^ ERROR unused `std::result::Result`
-    //~^^ ERROR unused `std::result::Result`
+    //~^ ERROR unused `Result`
+    //~^^ ERROR unused `Result`
 
-    foo(); //~ ERROR unused `std::result::Result`
+    foo(); //~ ERROR unused `Result`
 
-    ((Err::<(), ()>(()), ()), ()); //~ ERROR unused `std::result::Result`
+    ((Err::<(), ()>(()), ()), ()); //~ ERROR unused `Result`
 }
diff --git a/src/test/ui/lint/must_use-tuple.stderr b/src/test/ui/lint/must_use-tuple.stderr
index de3c6f46c68..0532d89e039 100644
--- a/src/test/ui/lint/must_use-tuple.stderr
+++ b/src/test/ui/lint/must_use-tuple.stderr
@@ -1,4 +1,4 @@
-error: unused `std::result::Result` in tuple element 0 that must be used
+error: unused `Result` in tuple element 0 that must be used
   --> $DIR/must_use-tuple.rs:8:6
    |
 LL |     (Ok::<(), ()>(()),);
@@ -11,7 +11,7 @@ LL | #![deny(unused_must_use)]
    |         ^^^^^^^^^^^^^^^
    = note: this `Result` may be an `Err` variant, which should be handled
 
-error: unused `std::result::Result` in tuple element 0 that must be used
+error: unused `Result` in tuple element 0 that must be used
   --> $DIR/must_use-tuple.rs:10:6
    |
 LL |     (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
@@ -19,7 +19,7 @@ LL |     (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
    |
    = note: this `Result` may be an `Err` variant, which should be handled
 
-error: unused `std::result::Result` in tuple element 2 that must be used
+error: unused `Result` in tuple element 2 that must be used
   --> $DIR/must_use-tuple.rs:10:27
    |
 LL |     (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
@@ -27,7 +27,7 @@ LL |     (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
    |
    = note: this `Result` may be an `Err` variant, which should be handled
 
-error: unused `std::result::Result` in tuple element 0 that must be used
+error: unused `Result` in tuple element 0 that must be used
   --> $DIR/must_use-tuple.rs:14:5
    |
 LL |     foo();
@@ -35,7 +35,7 @@ LL |     foo();
    |
    = note: this `Result` may be an `Err` variant, which should be handled
 
-error: unused `std::result::Result` in tuple element 0 that must be used
+error: unused `Result` in tuple element 0 that must be used
   --> $DIR/must_use-tuple.rs:16:6
    |
 LL |     ((Err::<(), ()>(()), ()), ());
diff --git a/src/test/ui/lint/outer-forbid.rs b/src/test/ui/lint/outer-forbid.rs
index d45848bf706..486ec3c4680 100644
--- a/src/test/ui/lint/outer-forbid.rs
+++ b/src/test/ui/lint/outer-forbid.rs
@@ -15,11 +15,16 @@
 // compile-flags: -Z deduplicate-diagnostics=yes
 
 #![forbid(unused, non_snake_case)]
+#![forbid(forbidden_lint_groups)]
 
 #[allow(unused_variables)] //~ ERROR incompatible with previous
+//~^ ERROR incompatible with previous
+//~| WARNING this was previously accepted by the compiler
+//~| WARNING this was previously accepted by the compiler
 fn foo() {}
 
 #[allow(unused)] //~ ERROR incompatible with previous
+//~^ WARNING this was previously accepted by the compiler
 fn bar() {}
 
 #[allow(nonstandard_style)] //~ ERROR incompatible with previous
diff --git a/src/test/ui/lint/outer-forbid.stderr b/src/test/ui/lint/outer-forbid.stderr
index c012c20697e..d69157a8bb3 100644
--- a/src/test/ui/lint/outer-forbid.stderr
+++ b/src/test/ui/lint/outer-forbid.stderr
@@ -1,23 +1,34 @@
-error[E0453]: allow(unused_variables) incompatible with previous forbid
-  --> $DIR/outer-forbid.rs:19:9
+error: allow(unused_variables) incompatible with previous forbid
+  --> $DIR/outer-forbid.rs:20:9
    |
 LL | #![forbid(unused, non_snake_case)]
    |           ------ `forbid` level set here
-LL | 
+...
 LL | #[allow(unused_variables)]
    |         ^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+note: the lint level is defined here
+  --> $DIR/outer-forbid.rs:18:11
+   |
+LL | #![forbid(forbidden_lint_groups)]
+   |           ^^^^^^^^^^^^^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
 
-error[E0453]: allow(unused) incompatible with previous forbid
-  --> $DIR/outer-forbid.rs:22:9
+error: allow(unused) incompatible with previous forbid
+  --> $DIR/outer-forbid.rs:26:9
    |
 LL | #![forbid(unused, non_snake_case)]
    |           ------ `forbid` level set here
 ...
 LL | #[allow(unused)]
    |         ^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
 
 error[E0453]: allow(nonstandard_style) incompatible with previous forbid
-  --> $DIR/outer-forbid.rs:25:9
+  --> $DIR/outer-forbid.rs:30:9
    |
 LL | #![forbid(unused, non_snake_case)]
    |                   -------------- `forbid` level set here
@@ -25,6 +36,18 @@ LL | #![forbid(unused, non_snake_case)]
 LL | #[allow(nonstandard_style)]
    |         ^^^^^^^^^^^^^^^^^ overruled by previous forbid
 
-error: aborting due to 3 previous errors
+error: allow(unused_variables) incompatible with previous forbid
+  --> $DIR/outer-forbid.rs:20:9
+   |
+LL | #![forbid(unused, non_snake_case)]
+   |           ------ `forbid` level set here
+...
+LL | #[allow(unused_variables)]
+   |         ^^^^^^^^^^^^^^^^ overruled by previous forbid
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
+
+error: aborting due to 4 previous errors
 
 For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/allow-semicolon-in-expressions-from-macros.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/allow-semicolon-in-expressions-from-macros.rs
new file mode 100644
index 00000000000..6f9e6ec0a57
--- /dev/null
+++ b/src/test/ui/lint/semicolon-in-expressions-from-macros/allow-semicolon-in-expressions-from-macros.rs
@@ -0,0 +1,15 @@
+// check-pass
+// Ensure that trailing semicolons are allowed by default
+
+macro_rules! foo {
+    () => {
+        true;
+    }
+}
+
+fn main() {
+    let val = match true {
+        true => false,
+        _ => foo!()
+    };
+}
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs
new file mode 100644
index 00000000000..0bbd7dc6c8a
--- /dev/null
+++ b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs
@@ -0,0 +1,41 @@
+// check-pass
+// edition:2018
+#![warn(semicolon_in_expressions_from_macros)]
+
+#[allow(dead_code)]
+macro_rules! foo {
+    ($val:ident) => {
+        true; //~ WARN trailing
+              //~| WARN this was previously
+              //~| WARN trailing
+              //~| WARN this was previously
+    }
+}
+
+#[allow(semicolon_in_expressions_from_macros)]
+async fn bar() {
+    foo!(first);
+}
+
+fn main() {
+    // This `allow` doesn't work
+    #[allow(semicolon_in_expressions_from_macros)]
+    let _ = {
+        foo!(first)
+    };
+
+    // This 'allow' doesn't work either
+    #[allow(semicolon_in_expressions_from_macros)]
+    let _ = foo!(second);
+
+    // But this 'allow' does
+    #[allow(semicolon_in_expressions_from_macros)]
+    fn inner() {
+        let _ = foo!(third);
+    }
+
+    #[allow(semicolon_in_expressions_from_macros)]
+    async {
+        let _ = foo!(fourth);
+    };
+}
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr
new file mode 100644
index 00000000000..bfdce732e02
--- /dev/null
+++ b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr
@@ -0,0 +1,33 @@
+warning: trailing semicolon in macro used in expression position
+  --> $DIR/semicolon-in-expressions-from-macros.rs:8:13
+   |
+LL |         true;
+   |             ^
+...
+LL |         foo!(first)
+   |         ----------- in this macro invocation
+   |
+note: the lint level is defined here
+  --> $DIR/semicolon-in-expressions-from-macros.rs:3:9
+   |
+LL | #![warn(semicolon_in_expressions_from_macros)]
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
+   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+
+warning: trailing semicolon in macro used in expression position
+  --> $DIR/semicolon-in-expressions-from-macros.rs:8:13
+   |
+LL |         true;
+   |             ^
+...
+LL |     let _ = foo!(second);
+   |             ------------ in this macro invocation
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
+   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+
+warning: 2 warnings emitted
+
diff --git a/src/test/ui/lint/special-upper-lower-cases.stderr b/src/test/ui/lint/special-upper-lower-cases.stderr
index f32193a2e4a..e3b451a15a2 100644
--- a/src/test/ui/lint/special-upper-lower-cases.stderr
+++ b/src/test/ui/lint/special-upper-lower-cases.stderr
@@ -2,7 +2,7 @@ warning: type `𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝` should have an upper camel
   --> $DIR/special-upper-lower-cases.rs:11:8
    |
 LL | struct 𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝;
-   |        ^^^^^^^^^
+   |        ^^^^^^^^^ should have an UpperCamelCase name
    |
    = note: `#[warn(non_camel_case_types)]` on by default
 
@@ -10,13 +10,13 @@ warning: type `𝕟𝕠𝕥_𝕒_𝕔𝕒𝕞𝕖𝕝` should have an upper came
   --> $DIR/special-upper-lower-cases.rs:15:8
    |
 LL | struct 𝕟𝕠𝕥_𝕒_𝕔𝕒𝕞𝕖𝕝;
-   |        ^^^^^^^^^^^ help: convert the identifier to upper camel case: `𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝`
+   |        ^^^^^^^^^^^ should have an UpperCamelCase name
 
 warning: static variable `𝗻𝗼𝗻𝘂𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲` should have an upper case name
   --> $DIR/special-upper-lower-cases.rs:18:8
    |
 LL | static 𝗻𝗼𝗻𝘂𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲: i32 = 1;
-   |        ^^^^^^^^^^^^
+   |        ^^^^^^^^^^^^ should have an UPPER_CASE name
    |
    = note: `#[warn(non_upper_case_globals)]` on by default
 
@@ -24,7 +24,7 @@ warning: variable `𝓢𝓝𝓐𝓐𝓐𝓐𝓚𝓔𝓢` should have a snake cas
   --> $DIR/special-upper-lower-cases.rs:22:9
    |
 LL |     let 𝓢𝓝𝓐𝓐𝓐𝓐𝓚𝓔𝓢 = 1;
-   |         ^^^^^^^^^
+   |         ^^^^^^^^^ should have a snake_case name
    |
    = note: `#[warn(non_snake_case)]` on by default
 
diff --git a/src/test/ui/issues/issue-33264.rs b/src/test/ui/llvm-asm/issue-33264.rs
index 32a36e44aa1..32a36e44aa1 100644
--- a/src/test/ui/issues/issue-33264.rs
+++ b/src/test/ui/llvm-asm/issue-33264.rs
diff --git a/src/test/ui/loops/loop-break-value-no-repeat.stderr b/src/test/ui/loops/loop-break-value-no-repeat.stderr
index ff93e9220e9..1c0d39a6e5a 100644
--- a/src/test/ui/loops/loop-break-value-no-repeat.stderr
+++ b/src/test/ui/loops/loop-break-value-no-repeat.stderr
@@ -1,10 +1,12 @@
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value-no-repeat.rs:12:9
    |
+LL |     for _ in &[1,2,3] {
+   |     ----------------- you can't `break` with a value in a `for` loop
 LL |         break 22
    |         ^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `for` loop
+help: use `break` on its own without a value inside this `for` loop
    |
 LL |         break
    |         ^^^^^
diff --git a/src/test/ui/loops/loop-break-value.rs b/src/test/ui/loops/loop-break-value.rs
index 8a080cfdf49..51c9a36a039 100644
--- a/src/test/ui/loops/loop-break-value.rs
+++ b/src/test/ui/loops/loop-break-value.rs
@@ -94,6 +94,5 @@ fn main() {
     'LOOP: for _ in 0 .. 9 {
         break LOOP;
         //~^ ERROR cannot find value `LOOP` in this scope
-        //~| ERROR `break` with value from a `for` loop
     }
 }
diff --git a/src/test/ui/loops/loop-break-value.stderr b/src/test/ui/loops/loop-break-value.stderr
index 0237435c8b4..adb099f9b17 100644
--- a/src/test/ui/loops/loop-break-value.stderr
+++ b/src/test/ui/loops/loop-break-value.stderr
@@ -1,11 +1,13 @@
 error[E0425]: cannot find value `LOOP` in this scope
   --> $DIR/loop-break-value.rs:95:15
    |
+LL |     'LOOP: for _ in 0 .. 9 {
+   |     ----- a label with a similar name exists
 LL |         break LOOP;
    |               ^^^^
    |               |
    |               not found in this scope
-   |               help: a label with a similar name exists: `'LOOP`
+   |               help: use the similarly named label: `'LOOP`
 
 warning: denote infinite loops with `loop { ... }`
   --> $DIR/loop-break-value.rs:26:5
@@ -18,32 +20,44 @@ LL |     'while_loop: while true {
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:28:9
    |
+LL |     'while_loop: while true {
+   |     ----------------------- you can't `break` with a value in a `while` loop
+LL |         break;
 LL |         break ();
    |         ^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `while` loop
+help: use `break` on its own without a value inside this `while` loop
    |
 LL |         break;
    |         ^^^^^
+help: alternatively, you might have meant to use the available loop label
+   |
+LL |         break 'while_loop;
+   |               ^^^^^^^^^^^
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:30:13
    |
+LL |     'while_loop: while true {
+   |     ----------------------- you can't `break` with a value in a `while` loop
+...
 LL |             break 'while_loop 123;
    |             ^^^^^^^^^^^^^^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `while` loop
+help: use `break` on its own without a value inside this `while` loop
    |
-LL |             break;
-   |             ^^^^^
+LL |             break 'while_loop;
+   |             ^^^^^^^^^^^^^^^^^
 
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:38:12
    |
+LL |     while let Some(_) = Some(()) {
+   |     ---------------------------- you can't `break` with a value in a `while` loop
 LL |         if break () {
    |            ^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `while` loop
+help: use `break` on its own without a value inside this `while` loop
    |
 LL |         if break {
    |            ^^^^^
@@ -51,10 +65,12 @@ LL |         if break {
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:43:9
    |
+LL |     while let Some(_) = Some(()) {
+   |     ---------------------------- you can't `break` with a value in a `while` loop
 LL |         break None;
    |         ^^^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `while` loop
+help: use `break` on its own without a value inside this `while` loop
    |
 LL |         break;
    |         ^^^^^
@@ -62,21 +78,26 @@ LL |         break;
 error[E0571]: `break` with value from a `while` loop
   --> $DIR/loop-break-value.rs:49:13
    |
+LL |     'while_let_loop: while let Some(_) = Some(()) {
+   |     --------------------------------------------- you can't `break` with a value in a `while` loop
+LL |         loop {
 LL |             break 'while_let_loop "nope";
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `while` loop
+help: use `break` on its own without a value inside this `while` loop
    |
-LL |             break;
-   |             ^^^^^
+LL |             break 'while_let_loop;
+   |             ^^^^^^^^^^^^^^^^^^^^^
 
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value.rs:56:9
    |
+LL |     for _ in &[1,2,3] {
+   |     ----------------- you can't `break` with a value in a `for` loop
 LL |         break ();
    |         ^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `for` loop
+help: use `break` on its own without a value inside this `for` loop
    |
 LL |         break;
    |         ^^^^^
@@ -84,10 +105,13 @@ LL |         break;
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value.rs:57:9
    |
+LL |     for _ in &[1,2,3] {
+   |     ----------------- you can't `break` with a value in a `for` loop
+LL |         break ();
 LL |         break [()];
    |         ^^^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `for` loop
+help: use `break` on its own without a value inside this `for` loop
    |
 LL |         break;
    |         ^^^^^
@@ -95,24 +119,16 @@ LL |         break;
 error[E0571]: `break` with value from a `for` loop
   --> $DIR/loop-break-value.rs:64:13
    |
+LL |     'for_loop: for _ in &[1,2,3] {
+   |     ---------------------------- you can't `break` with a value in a `for` loop
+...
 LL |             break 'for_loop Some(17);
    |             ^^^^^^^^^^^^^^^^^^^^^^^^ can only break with a value inside `loop` or breakable block
    |
-help: instead, use `break` on its own without a value inside this `for` loop
-   |
-LL |             break;
-   |             ^^^^^
-
-error[E0571]: `break` with value from a `for` loop
-  --> $DIR/loop-break-value.rs:95:9
-   |
-LL |         break LOOP;
-   |         ^^^^^^^^^^ can only break with a value inside `loop` or breakable block
+help: use `break` on its own without a value inside this `for` loop
    |
-help: instead, use `break` on its own without a value inside this `for` loop
-   |
-LL |         break;
-   |         ^^^^^
+LL |             break 'for_loop;
+   |             ^^^^^^^^^^^^^^^
 
 error[E0308]: mismatched types
   --> $DIR/loop-break-value.rs:4:31
@@ -171,7 +187,7 @@ LL |         break;
    |         expected integer, found `()`
    |         help: give it a value of the expected type: `break value`
 
-error: aborting due to 18 previous errors; 1 warning emitted
+error: aborting due to 17 previous errors; 1 warning emitted
 
 Some errors have detailed explanations: E0308, E0425, E0571.
 For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/macros/assert-macro-owned.rs b/src/test/ui/macros/assert-macro-owned.rs
index b50fe65c015..2846f2a1f83 100644
--- a/src/test/ui/macros/assert-macro-owned.rs
+++ b/src/test/ui/macros/assert-macro-owned.rs
@@ -2,6 +2,8 @@
 // error-pattern:panicked at 'test-assert-owned'
 // ignore-emscripten no processes
 
+#![allow(non_fmt_panic)]
+
 fn main() {
     assert!(false, "test-assert-owned".to_string());
 }
diff --git a/src/test/ui/macros/issue-81006.rs b/src/test/ui/macros/issue-81006.rs
new file mode 100644
index 00000000000..602eb597428
--- /dev/null
+++ b/src/test/ui/macros/issue-81006.rs
@@ -0,0 +1,10 @@
+// check-fail
+
+// First format below would cause a panic, second would generate error with incorrect span
+
+fn main() {
+    let _ = format!("→{}→\n");
+    //~^ ERROR 1 positional argument in format string, but no arguments were given
+    let _ = format!("→{} \n");
+    //~^ ERROR 1 positional argument in format string, but no arguments were given
+}
diff --git a/src/test/ui/macros/issue-81006.stderr b/src/test/ui/macros/issue-81006.stderr
new file mode 100644
index 00000000000..14a8cbe0155
--- /dev/null
+++ b/src/test/ui/macros/issue-81006.stderr
@@ -0,0 +1,14 @@
+error: 1 positional argument in format string, but no arguments were given
+  --> $DIR/issue-81006.rs:6:23
+   |
+LL |     let _ = format!("→{}→\n");
+   |                       ^^
+
+error: 1 positional argument in format string, but no arguments were given
+  --> $DIR/issue-81006.rs:8:23
+   |
+LL |     let _ = format!("→{} \n");
+   |                       ^^
+
+error: aborting due to 2 previous errors
+
diff --git a/src/test/ui/issues/issue-8709.rs b/src/test/ui/macros/issue-8709.rs
index ea7525d4477..ea7525d4477 100644
--- a/src/test/ui/issues/issue-8709.rs
+++ b/src/test/ui/macros/issue-8709.rs
diff --git a/src/test/ui/macros/macro-comma-behavior-rpass.rs b/src/test/ui/macros/macro-comma-behavior-rpass.rs
index c46274d59b6..fd2c590ae5f 100644
--- a/src/test/ui/macros/macro-comma-behavior-rpass.rs
+++ b/src/test/ui/macros/macro-comma-behavior-rpass.rs
@@ -57,7 +57,7 @@ fn writeln_1arg() {
 //
 // (Example: Issue #48042)
 #[test]
-#[allow(panic_fmt)]
+#[allow(non_fmt_panic)]
 fn to_format_or_not_to_format() {
     // ("{}" is the easiest string to test because if this gets
     // sent to format_args!, it'll simply fail to compile.
diff --git a/src/test/ui/macros/must-use-in-macro-55516.stderr b/src/test/ui/macros/must-use-in-macro-55516.stderr
index a694c887085..b4072a1ad7e 100644
--- a/src/test/ui/macros/must-use-in-macro-55516.stderr
+++ b/src/test/ui/macros/must-use-in-macro-55516.stderr
@@ -1,4 +1,4 @@
-warning: unused `std::result::Result` that must be used
+warning: unused `Result` that must be used
   --> $DIR/must-use-in-macro-55516.rs:9:5
    |
 LL |     write!(&mut example, "{}", 42);
diff --git a/src/test/ui/macros/vec-macro-in-pattern.rs b/src/test/ui/macros/vec-macro-in-pattern.rs
new file mode 100644
index 00000000000..ce4298b8bb3
--- /dev/null
+++ b/src/test/ui/macros/vec-macro-in-pattern.rs
@@ -0,0 +1,10 @@
+// This is a regression test for #61933
+// Verify that the vec![] macro may not be used in patterns
+// and that the resulting diagnostic is actually helpful.
+
+fn main() {
+    match Some(vec![42]) {
+        Some(vec![43]) => {} //~ ERROR arbitrary expressions aren't allowed in patterns
+        _ => {}
+    }
+}
diff --git a/src/test/ui/macros/vec-macro-in-pattern.stderr b/src/test/ui/macros/vec-macro-in-pattern.stderr
new file mode 100644
index 00000000000..3dabebfdaa2
--- /dev/null
+++ b/src/test/ui/macros/vec-macro-in-pattern.stderr
@@ -0,0 +1,10 @@
+error: arbitrary expressions aren't allowed in patterns
+  --> $DIR/vec-macro-in-pattern.rs:7:14
+   |
+LL |         Some(vec![43]) => {}
+   |              ^^^^^^^^
+   |
+   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/methods/method-call-err-msg.rs b/src/test/ui/methods/method-call-err-msg.rs
index 9bfacc7babf..86d00ca3760 100644
--- a/src/test/ui/methods/method-call-err-msg.rs
+++ b/src/test/ui/methods/method-call-err-msg.rs
@@ -16,7 +16,7 @@ fn main() {
 
     let y = Foo;
     y.zero()
-     .take()    //~ ERROR no method named `take` found
+     .take()    //~ ERROR the method
      .one(0);
     y.three::<usize>(); //~ ERROR this function takes 3 arguments but 0 arguments were supplied
 }
diff --git a/src/test/ui/methods/method-call-err-msg.stderr b/src/test/ui/methods/method-call-err-msg.stderr
index 60f9eeeca27..ffeacfe15dd 100644
--- a/src/test/ui/methods/method-call-err-msg.stderr
+++ b/src/test/ui/methods/method-call-err-msg.stderr
@@ -40,7 +40,7 @@ note: associated function defined here
 LL |     fn two(self, _: isize, _: isize) -> Foo { self }
    |        ^^^ ----  --------  --------
 
-error[E0599]: no method named `take` found for struct `Foo` in the current scope
+error[E0599]: the method `take` exists for struct `Foo`, but its trait bounds were not satisfied
   --> $DIR/method-call-err-msg.rs:19:7
    |
 LL | pub struct Foo;
@@ -50,9 +50,9 @@ LL | pub struct Foo;
    | doesn't satisfy `Foo: Iterator`
 ...
 LL |      .take()
-   |       ^^^^ method not found in `Foo`
+   |       ^^^^ method cannot be called on `Foo` due to unsatisfied trait bounds
    |
-   = note: the method `take` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `Foo: Iterator`
            which is required by `&mut Foo: Iterator`
    = help: items from traits can only be used if the trait is implemented and in scope
diff --git a/src/test/ui/methods/method-lookup-order.rs b/src/test/ui/methods/method-lookup-order.rs
new file mode 100644
index 00000000000..986fe103cdc
--- /dev/null
+++ b/src/test/ui/methods/method-lookup-order.rs
@@ -0,0 +1,190 @@
+// ignore-tidy-linelength
+
+// run-pass
+
+// There are five cfg's below. I explored the set of all non-empty combinations
+// of the below five cfg's, which is 2^5 - 1 = 31 combinations.
+//
+// Of the 31, 11 resulted in ambiguous method resolutions; while it may be good
+// to have a test for all of the eleven variations of that error, I am not sure
+// this particular test is the best way to encode it. So they are skipped in
+// this revisions list (but not in the expansion mapping the binary encoding to
+// the corresponding cfg flags).
+//
+// Notable, here are the cases that will be incompatible if something does not override them first:
+// {bar_for_foo, valbar_for_et_foo}: these are higher precedent than the `&mut self` method on `Foo`, and so no case matching bx1x1x is included.
+// {mutbar_for_foo, valbar_for_etmut_foo} (which are lower precedent than the inherent `&mut self` method on `Foo`; e.g. b10101 *is* included.
+
+// revisions: b00001 b00010 b00011 b00100 b00101 b00110 b00111 b01000 b01001 b01100 b01101 b10000 b10001 b10010 b10011 b10101 b10111 b11000 b11001 b11101
+
+//[b00001]compile-flags:  --cfg inherent_mut
+//[b00010]compile-flags:                     --cfg bar_for_foo
+//[b00011]compile-flags:  --cfg inherent_mut --cfg bar_for_foo
+//[b00100]compile-flags:                                       --cfg mutbar_for_foo
+//[b00101]compile-flags:  --cfg inherent_mut                   --cfg mutbar_for_foo
+//[b00110]compile-flags:                     --cfg bar_for_foo --cfg mutbar_for_foo
+//[b00111]compile-flags:  --cfg inherent_mut --cfg bar_for_foo --cfg mutbar_for_foo
+//[b01000]compile-flags:                                                            --cfg valbar_for_et_foo
+//[b01001]compile-flags:  --cfg inherent_mut                                        --cfg valbar_for_et_foo
+//[b01010]compile-flags:                     --cfg bar_for_foo                      --cfg valbar_for_et_foo
+//[b01011]compile-flags:  --cfg inherent_mut --cfg bar_for_foo                      --cfg valbar_for_et_foo
+//[b01100]compile-flags:                                       --cfg mutbar_for_foo --cfg valbar_for_et_foo
+//[b01101]compile-flags:  --cfg inherent_mut                   --cfg mutbar_for_foo --cfg valbar_for_et_foo
+//[b01110]compile-flags:                     --cfg bar_for_foo --cfg mutbar_for_foo --cfg valbar_for_et_foo
+//[b01111]compile-flags:  --cfg inherent_mut --cfg bar_for_foo --cfg mutbar_for_foo --cfg valbar_for_et_foo
+//[b10000]compile-flags:                                                                                    --cfg valbar_for_etmut_foo
+//[b10001]compile-flags:  --cfg inherent_mut                                                                --cfg valbar_for_etmut_foo
+//[b10010]compile-flags:                     --cfg bar_for_foo                                              --cfg valbar_for_etmut_foo
+//[b10011]compile-flags:  --cfg inherent_mut --cfg bar_for_foo                                              --cfg valbar_for_etmut_foo
+//[b10100]compile-flags:                                       --cfg mutbar_for_foo                         --cfg valbar_for_etmut_foo
+//[b10101]compile-flags:  --cfg inherent_mut                   --cfg mutbar_for_foo                         --cfg valbar_for_etmut_foo
+//[b10110]compile-flags:                     --cfg bar_for_foo --cfg mutbar_for_foo                         --cfg valbar_for_etmut_foo
+//[b10111]compile-flags:  --cfg inherent_mut --cfg bar_for_foo --cfg mutbar_for_foo                         --cfg valbar_for_etmut_foo
+//[b11000]compile-flags:                                                            --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11001]compile-flags:  --cfg inherent_mut                                        --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11010]compile-flags:                     --cfg bar_for_foo                      --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11011]compile-flags:  --cfg inherent_mut --cfg bar_for_foo                      --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11100]compile-flags:                                       --cfg mutbar_for_foo --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11101]compile-flags:  --cfg inherent_mut                   --cfg mutbar_for_foo --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11110]compile-flags:                     --cfg bar_for_foo --cfg mutbar_for_foo --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+//[b11111]compile-flags:  --cfg inherent_mut --cfg bar_for_foo --cfg mutbar_for_foo --cfg valbar_for_et_foo --cfg valbar_for_etmut_foo
+
+struct Foo {}
+
+type S = &'static str;
+
+trait Bar {
+    fn bar(&self, _: &str) -> S;
+}
+
+trait MutBar {
+    fn bar(&mut self, _: &str) -> S;
+}
+
+trait ValBar {
+    fn bar(self, _: &str) -> S;
+}
+
+#[cfg(inherent_mut)]
+impl Foo {
+    fn bar(&mut self, _: &str) -> S {
+        "In struct impl!"
+    }
+}
+
+#[cfg(bar_for_foo)]
+impl Bar for Foo {
+    fn bar(&self, _: &str) -> S {
+        "In trait &self impl!"
+    }
+}
+
+#[cfg(mutbar_for_foo)]
+impl MutBar for Foo {
+    fn bar(&mut self, _: &str) -> S {
+        "In trait &mut self impl!"
+    }
+}
+
+#[cfg(valbar_for_et_foo)]
+impl ValBar for &Foo {
+    fn bar(self, _: &str) -> S {
+        "In trait self impl for &Foo!"
+    }
+}
+
+#[cfg(valbar_for_etmut_foo)]
+impl ValBar for &mut Foo {
+    fn bar(self, _: &str) -> S {
+        "In trait self impl for &mut Foo!"
+    }
+}
+
+fn main() {
+    #![allow(unused_mut)] // some of the impls above will want it.
+
+    #![allow(unreachable_patterns)] // the cfg-coding pattern below generates unreachable patterns.
+
+    {
+        macro_rules! all_variants_on_value {
+            ($e:expr) => {
+                match $e {
+                    #[cfg(bar_for_foo)]
+                    x => assert_eq!(x, "In trait &self impl!"),
+
+                    #[cfg(valbar_for_et_foo)]
+                    x => assert_eq!(x, "In trait self impl for &Foo!"),
+
+                    #[cfg(inherent_mut)]
+                    x => assert_eq!(x, "In struct impl!"),
+
+                    #[cfg(mutbar_for_foo)]
+                    x => assert_eq!(x, "In trait &mut self impl!"),
+
+                    #[cfg(valbar_for_etmut_foo)]
+                    x => assert_eq!(x, "In trait self impl for &mut Foo!"),
+                }
+            }
+        }
+
+        let mut f = Foo {};
+        all_variants_on_value!(f.bar("f.bar"));
+
+        let f_mr = &mut Foo {};
+        all_variants_on_value!((*f_mr).bar("(*f_mr).bar"));
+    }
+
+    // This is sort of interesting: `&mut Foo` ends up with a significantly
+    // different resolution order than what was devised above. Presumably this
+    // is because we can get to a `&self` method by first a deref of the given
+    // `&mut Foo` and then an autoref, and that is a longer path than a mere
+    // auto-ref of a `Foo`.
+
+    {
+        let f_mr = &mut Foo {};
+
+        match f_mr.bar("f_mr.bar") {
+            #[cfg(inherent_mut)]
+            x => assert_eq!(x, "In struct impl!"),
+
+            #[cfg(valbar_for_etmut_foo)]
+            x => assert_eq!(x, "In trait self impl for &mut Foo!"),
+
+            #[cfg(mutbar_for_foo)]
+            x => assert_eq!(x, "In trait &mut self impl!"),
+
+            #[cfg(valbar_for_et_foo)]
+            x => assert_eq!(x, "In trait self impl for &Foo!"),
+
+            #[cfg(bar_for_foo)]
+            x => assert_eq!(x, "In trait &self impl!"),
+        }
+    }
+
+
+    // Note that this isn't actually testing a resolution order; if both of these are
+    // enabled, it yields an ambiguous method resolution error. The test tries to embed
+    // that fact by testing *both* orders (and so the only way that can be right is if
+    // they are not actually compatible).
+    #[cfg(any(bar_for_foo, valbar_for_et_foo))]
+    {
+        let f_r = &Foo {};
+
+        match f_r.bar("f_r.bar") {
+            #[cfg(bar_for_foo)]
+            x => assert_eq!(x, "In trait &self impl!"),
+
+            #[cfg(valbar_for_et_foo)]
+            x => assert_eq!(x, "In trait self impl for &Foo!"),
+        }
+
+        match f_r.bar("f_r.bar") {
+            #[cfg(valbar_for_et_foo)]
+            x => assert_eq!(x, "In trait self impl for &Foo!"),
+
+            #[cfg(bar_for_foo)]
+            x => assert_eq!(x, "In trait &self impl!"),
+        }
+    }
+
+}
diff --git a/src/test/ui/mir/issue-80742.rs b/src/test/ui/mir/issue-80742.rs
new file mode 100644
index 00000000000..c06d182fd56
--- /dev/null
+++ b/src/test/ui/mir/issue-80742.rs
@@ -0,0 +1,33 @@
+// check-fail
+
+// This test used to cause an ICE in rustc_mir::interpret::step::eval_rvalue_into_place
+
+#![allow(incomplete_features)]
+#![feature(const_evaluatable_checked)]
+#![feature(const_generics)]
+
+use std::fmt::Debug;
+use std::marker::PhantomData;
+use std::mem::size_of;
+
+struct Inline<T>
+where
+    [u8; size_of::<T>() + 1]: ,
+{
+    _phantom: PhantomData<T>,
+    buf: [u8; size_of::<T>() + 1],
+}
+
+impl<T> Inline<T>
+where
+    [u8; size_of::<T>() + 1]: ,
+{
+    pub fn new(val: T) -> Inline<T> {
+        todo!()
+    }
+}
+
+fn main() {
+    let dst = Inline::<dyn Debug>::new(0); //~ ERROR
+    //~^ ERROR
+}
diff --git a/src/test/ui/mir/issue-80742.stderr b/src/test/ui/mir/issue-80742.stderr
new file mode 100644
index 00000000000..8cbd0220e67
--- /dev/null
+++ b/src/test/ui/mir/issue-80742.stderr
@@ -0,0 +1,70 @@
+error[E0080]: evaluation of constant value failed
+  --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL |     intrinsics::size_of::<T>()
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |     |
+   |     size_of called on unsized type `dyn Debug`
+   |     inside `std::mem::size_of::<dyn Debug>` at $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   | 
+  ::: $DIR/issue-80742.rs:23:10
+   |
+LL |     [u8; size_of::<T>() + 1]: ,
+   |          -------------- inside `Inline::<dyn Debug>::{constant#0}` at $DIR/issue-80742.rs:23:10
+
+error[E0599]: the function or associated item `new` exists for struct `Inline<dyn Debug>`, but its trait bounds were not satisfied
+  --> $DIR/issue-80742.rs:31:36
+   |
+LL | / struct Inline<T>
+LL | | where
+LL | |     [u8; size_of::<T>() + 1]: ,
+LL | | {
+LL | |     _phantom: PhantomData<T>,
+LL | |     buf: [u8; size_of::<T>() + 1],
+LL | | }
+   | |_- function or associated item `new` not found for this
+...
+LL |       let dst = Inline::<dyn Debug>::new(0);
+   |                                      ^^^ function or associated item cannot be called on `Inline<dyn Debug>` due to unsatisfied trait bounds
+   | 
+  ::: $SRC_DIR/core/src/fmt/mod.rs:LL:COL
+   |
+LL |   pub trait Debug {
+   |   --------------- doesn't satisfy `dyn Debug: Sized`
+   |
+   = note: the following trait bounds were not satisfied:
+           `dyn Debug: Sized`
+
+error[E0080]: evaluation of constant value failed
+  --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |
+LL |     intrinsics::size_of::<T>()
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |     |
+   |     size_of called on unsized type `dyn Debug`
+   |     inside `std::mem::size_of::<dyn Debug>` at $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   | 
+  ::: $DIR/issue-80742.rs:15:10
+   |
+LL |     [u8; size_of::<T>() + 1]: ,
+   |          -------------- inside `Inline::<dyn Debug>::{constant#0}` at $DIR/issue-80742.rs:15:10
+
+error[E0277]: the size for values of type `dyn Debug` cannot be known at compilation time
+  --> $DIR/issue-80742.rs:31:15
+   |
+LL | struct Inline<T>
+   |               - required by this bound in `Inline`
+...
+LL |     let dst = Inline::<dyn Debug>::new(0);
+   |               ^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
+   |
+   = help: the trait `Sized` is not implemented for `dyn Debug`
+help: consider relaxing the implicit `Sized` restriction
+   |
+LL | struct Inline<T: ?Sized>
+   |                ^^^^^^^^
+
+error: aborting due to 4 previous errors
+
+Some errors have detailed explanations: E0080, E0277, E0599.
+For more information about an error, try `rustc --explain E0080`.
diff --git a/src/test/ui/mir/issue-80949.rs b/src/test/ui/mir/issue-80949.rs
new file mode 100644
index 00000000000..7e34a4f5c27
--- /dev/null
+++ b/src/test/ui/mir/issue-80949.rs
@@ -0,0 +1,34 @@
+// build-pass
+
+trait Trait { type Item; }
+
+impl<'a, X> Trait for &'a Vec<X> {
+    type Item = &'a X;
+}
+
+impl<X> Trait for Box<dyn Trait<Item = X>> {
+    type Item = X;
+}
+
+fn make_dyn_trait(_: &()) -> Box<dyn Trait<Item = &()>> {
+    todo!()
+}
+
+fn diff<'a, M, N, S>(_: N, _: S)
+where
+    M: 'a,
+    N: Trait<Item = &'a M>,
+    S: Trait<Item = &'a M>,
+{
+    todo!()
+}
+
+fn may_panic<X>(_: X) { }
+
+fn main() {
+    let dyn_trait = make_dyn_trait(&());
+    let storage = vec![()];
+    let _x = may_panic(());
+    let storage_ref = &storage;
+    diff(dyn_trait, storage_ref);
+}
diff --git a/src/test/ui/mir/mir_drop_order.rs b/src/test/ui/mir/mir_drop_order.rs
index 2949437b1e4..22c804abf5c 100644
--- a/src/test/ui/mir/mir_drop_order.rs
+++ b/src/test/ui/mir/mir_drop_order.rs
@@ -38,7 +38,7 @@ fn main() {
     assert_eq!(get(), vec![0, 2, 3, 1]);
 
     let _ = std::panic::catch_unwind(|| {
-        (d(4), &d(5), d(6), &d(7), panic!(InjectedFailure));
+        (d(4), &d(5), d(6), &d(7), panic::panic_any(InjectedFailure));
     });
 
     // here, the temporaries (5/7) live until the end of the
diff --git a/src/test/ui/mismatched_types/abridged.stderr b/src/test/ui/mismatched_types/abridged.stderr
index b7564686cd5..61994e5bfee 100644
--- a/src/test/ui/mismatched_types/abridged.stderr
+++ b/src/test/ui/mismatched_types/abridged.stderr
@@ -15,10 +15,10 @@ error[E0308]: mismatched types
 LL | fn a2() -> Foo {
    |            --- expected `Foo` because of return type
 LL |     Ok(Foo { bar: 1})
-   |     ^^^^^^^^^^^^^^^^^ expected struct `Foo`, found enum `std::result::Result`
+   |     ^^^^^^^^^^^^^^^^^ expected struct `Foo`, found enum `Result`
    |
    = note: expected struct `Foo`
-                found enum `std::result::Result<Foo, _>`
+                found enum `Result<Foo, _>`
 
 error[E0308]: mismatched types
   --> $DIR/abridged.rs:24:5
@@ -38,14 +38,14 @@ error[E0308]: mismatched types
   --> $DIR/abridged.rs:28:5
    |
 LL | fn c() -> Result<Foo, Bar> {
-   |           ---------------- expected `std::result::Result<Foo, Bar>` because of return type
+   |           ---------------- expected `Result<Foo, Bar>` because of return type
 LL |     Foo { bar: 1 }
    |     ^^^^^^^^^^^^^^
    |     |
-   |     expected enum `std::result::Result`, found struct `Foo`
+   |     expected enum `Result`, found struct `Foo`
    |     help: try using a variant of the expected enum: `Ok(Foo { bar: 1 })`
    |
-   = note: expected enum `std::result::Result<Foo, Bar>`
+   = note: expected enum `Result<Foo, Bar>`
             found struct `Foo`
 
 error[E0308]: mismatched types
diff --git a/src/test/ui/mismatched_types/binops.rs b/src/test/ui/mismatched_types/binops.rs
index 4be7420e33c..f359451dfb8 100644
--- a/src/test/ui/mismatched_types/binops.rs
+++ b/src/test/ui/mismatched_types/binops.rs
@@ -4,5 +4,5 @@ fn main() {
     3 * (); //~ ERROR cannot multiply `{integer}` by `()`
     4 / ""; //~ ERROR cannot divide `{integer}` by `&str`
     5 < String::new(); //~ ERROR can't compare `{integer}` with `String`
-    6 == Ok(1); //~ ERROR can't compare `{integer}` with `std::result::Result<{integer}, _>`
+    6 == Ok(1); //~ ERROR can't compare `{integer}` with `Result<{integer}, _>`
 }
diff --git a/src/test/ui/mismatched_types/binops.stderr b/src/test/ui/mismatched_types/binops.stderr
index f2bfb12ee9c..19e921dd04d 100644
--- a/src/test/ui/mismatched_types/binops.stderr
+++ b/src/test/ui/mismatched_types/binops.stderr
@@ -38,13 +38,13 @@ LL |     5 < String::new();
    |
    = help: the trait `PartialOrd<String>` is not implemented for `{integer}`
 
-error[E0277]: can't compare `{integer}` with `std::result::Result<{integer}, _>`
+error[E0277]: can't compare `{integer}` with `Result<{integer}, _>`
   --> $DIR/binops.rs:7:7
    |
 LL |     6 == Ok(1);
-   |       ^^ no implementation for `{integer} == std::result::Result<{integer}, _>`
+   |       ^^ no implementation for `{integer} == Result<{integer}, _>`
    |
-   = help: the trait `PartialEq<std::result::Result<{integer}, _>>` is not implemented for `{integer}`
+   = help: the trait `PartialEq<Result<{integer}, _>>` is not implemented for `{integer}`
 
 error: aborting due to 6 previous errors
 
diff --git a/src/test/ui/mismatched_types/issue-36053-2.rs b/src/test/ui/mismatched_types/issue-36053-2.rs
index 9035e3380b0..17d2292baaf 100644
--- a/src/test/ui/mismatched_types/issue-36053-2.rs
+++ b/src/test/ui/mismatched_types/issue-36053-2.rs
@@ -5,6 +5,6 @@
 use std::iter::once;
 fn main() {
     once::<&str>("str").fuse().filter(|a: &str| true).count();
-    //~^ ERROR no method named `count`
+    //~^ ERROR the method
     //~| ERROR type mismatch in closure arguments
 }
diff --git a/src/test/ui/mismatched_types/issue-36053-2.stderr b/src/test/ui/mismatched_types/issue-36053-2.stderr
index 2efd37b4738..69ae3d8cbd0 100644
--- a/src/test/ui/mismatched_types/issue-36053-2.stderr
+++ b/src/test/ui/mismatched_types/issue-36053-2.stderr
@@ -6,11 +6,11 @@ LL |     once::<&str>("str").fuse().filter(|a: &str| true).count();
    |                                |
    |                                expected signature of `for<'r> fn(&'r &str) -> _`
 
-error[E0599]: no method named `count` found for struct `Filter<Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:7:39: 7:53]>` in the current scope
+error[E0599]: the method `count` exists for struct `Filter<Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:7:39: 7:53]>`, but its trait bounds were not satisfied
   --> $DIR/issue-36053-2.rs:7:55
    |
 LL |     once::<&str>("str").fuse().filter(|a: &str| true).count();
-   |                                       --------------  ^^^^^ method not found in `Filter<Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:7:39: 7:53]>`
+   |                                       --------------  ^^^^^ method cannot be called on `Filter<Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:7:39: 7:53]>` due to unsatisfied trait bounds
    |                                       |
    |                                       doesn't satisfy `<_ as FnOnce<(&&str,)>>::Output = bool`
    |                                       doesn't satisfy `_: FnMut<(&&str,)>`
@@ -20,7 +20,7 @@ LL |     once::<&str>("str").fuse().filter(|a: &str| true).count();
 LL | pub struct Filter<I, P> {
    | ----------------------- doesn't satisfy `_: Iterator`
    |
-   = note: the method `count` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `<[closure@$DIR/issue-36053-2.rs:7:39: 7:53] as FnOnce<(&&str,)>>::Output = bool`
            which is required by `Filter<Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:7:39: 7:53]>: Iterator`
            `[closure@$DIR/issue-36053-2.rs:7:39: 7:53]: FnMut<(&&str,)>`
diff --git a/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs b/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs
index 58ceaffc964..f85c10d78c5 100644
--- a/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs
+++ b/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs
@@ -3,5 +3,5 @@ struct Foo;
 fn main() {
     let a: Result<(), Foo> = Ok(());
     a.unwrap();
-    //~^ ERROR no method named `unwrap` found
+    //~^ ERROR the method
 }
diff --git a/src/test/ui/mismatched_types/method-help-unsatisfied-bound.stderr b/src/test/ui/mismatched_types/method-help-unsatisfied-bound.stderr
index 67f79a8147b..1030061b2d1 100644
--- a/src/test/ui/mismatched_types/method-help-unsatisfied-bound.stderr
+++ b/src/test/ui/mismatched_types/method-help-unsatisfied-bound.stderr
@@ -1,13 +1,13 @@
-error[E0599]: no method named `unwrap` found for enum `std::result::Result<(), Foo>` in the current scope
+error[E0599]: the method `unwrap` exists for enum `Result<(), Foo>`, but its trait bounds were not satisfied
   --> $DIR/method-help-unsatisfied-bound.rs:5:7
    |
 LL | struct Foo;
    | ----------- doesn't satisfy `Foo: Debug`
 ...
 LL |     a.unwrap();
-   |       ^^^^^^ method not found in `std::result::Result<(), Foo>`
+   |       ^^^^^^ method cannot be called on `Result<(), Foo>` due to unsatisfied trait bounds
    |
-   = note: the method `unwrap` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `Foo: Debug`
 
 error: aborting due to previous error
diff --git a/src/test/ui/never_type/issue-52443.stderr b/src/test/ui/never_type/issue-52443.stderr
index 051896cb89c..1683841e9d7 100644
--- a/src/test/ui/never_type/issue-52443.stderr
+++ b/src/test/ui/never_type/issue-52443.stderr
@@ -39,11 +39,14 @@ error[E0015]: calls in constants are limited to constant functions, tuple struct
 LL |     [(); { for _ in 0usize.. {}; 0}];
    |                     ^^^^^^^^
 
-error[E0764]: mutable references are not allowed in constants
+error[E0658]: mutable references are not allowed in constants
   --> $DIR/issue-52443.rs:9:21
    |
 LL |     [(); { for _ in 0usize.. {}; 0}];
-   |                     ^^^^^^^^ `&mut` is only allowed in `const fn`
+   |                     ^^^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
 error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants
   --> $DIR/issue-52443.rs:9:21
@@ -53,5 +56,5 @@ LL |     [(); { for _ in 0usize.. {}; 0}];
 
 error: aborting due to 6 previous errors; 1 warning emitted
 
-Some errors have detailed explanations: E0015, E0308, E0744, E0764.
+Some errors have detailed explanations: E0015, E0308, E0658, E0744.
 For more information about an error, try `rustc --explain E0015`.
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr b/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
index 1a825837614..e1b446fc61f 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
@@ -7,10 +7,10 @@ LL |             let mut closure1 = || p = &y;
    = note: defining type: test::{closure#0}::{closure#0} with closure substs [
                i16,
                extern "rust-call" fn(()),
-               (&'_#1r i32, &'_#2r mut &'_#3r i32),
+               (&'_#1r mut &'_#2r i32, &'_#3r i32),
            ]
    = note: number of external vids: 4
-   = note: where '_#1r: '_#3r
+   = note: where '_#3r: '_#2r
 
 note: external requirements
   --> $DIR/escape-upvar-nested.rs:20:27
@@ -25,10 +25,10 @@ LL | |         };
    = note: defining type: test::{closure#0} with closure substs [
                i16,
                extern "rust-call" fn(()),
-               (&'_#1r i32, &'_#2r mut &'_#3r i32),
+               (&'_#1r mut &'_#2r i32, &'_#3r i32),
            ]
    = note: number of external vids: 4
-   = note: where '_#1r: '_#3r
+   = note: where '_#3r: '_#2r
 
 note: no external requirements
   --> $DIR/escape-upvar-nested.rs:13:1
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr b/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
index 29fd796882b..0ea1076c32e 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
@@ -7,10 +7,10 @@ LL |         let mut closure = || p = &y;
    = note: defining type: test::{closure#0} with closure substs [
                i16,
                extern "rust-call" fn(()),
-               (&'_#1r i32, &'_#2r mut &'_#3r i32),
+               (&'_#1r mut &'_#2r i32, &'_#3r i32),
            ]
    = note: number of external vids: 4
-   = note: where '_#1r: '_#3r
+   = note: where '_#3r: '_#2r
 
 note: no external requirements
   --> $DIR/escape-upvar-ref.rs:17:1
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr
index 0115f5412f2..0932f941548 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr
@@ -83,4 +83,5 @@ LL | }
 
 error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0597`.
+Some errors have detailed explanations: E0521, E0597.
+For more information about an error, try `rustc --explain E0521`.
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr
index e55d033d2c7..bf6e2a922ed 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr
@@ -51,3 +51,4 @@ LL | |     });
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
index ac4a4579c9c..a3d993848cb 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
@@ -51,3 +51,4 @@ LL | |     });
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.rs b/src/test/ui/nll/issue-45696-scribble-on-boxed-borrow.rs
index 637cf278f84..637cf278f84 100644
--- a/src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.rs
+++ b/src/test/ui/nll/issue-45696-scribble-on-boxed-borrow.rs
diff --git a/src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.stderr b/src/test/ui/nll/issue-45696-scribble-on-boxed-borrow.stderr
index db0a1719922..db0a1719922 100644
--- a/src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.stderr
+++ b/src/test/ui/nll/issue-45696-scribble-on-boxed-borrow.stderr
diff --git a/src/test/ui/issues/issue-46036.rs b/src/test/ui/nll/issue-46036.rs
index 18af33c1821..18af33c1821 100644
--- a/src/test/ui/issues/issue-46036.rs
+++ b/src/test/ui/nll/issue-46036.rs
diff --git a/src/test/ui/issues/issue-46036.stderr b/src/test/ui/nll/issue-46036.stderr
index 49dd0e267b8..49dd0e267b8 100644
--- a/src/test/ui/issues/issue-46036.stderr
+++ b/src/test/ui/nll/issue-46036.stderr
diff --git a/src/test/ui/nll/issue-54556-niconii.stderr b/src/test/ui/nll/issue-54556-niconii.stderr
index b4791fd22b4..1bfebd755b4 100644
--- a/src/test/ui/nll/issue-54556-niconii.stderr
+++ b/src/test/ui/nll/issue-54556-niconii.stderr
@@ -11,7 +11,7 @@ LL | }
    | -
    | |
    | `counter` dropped here while still borrowed
-   | ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::result::Result<MutexGuard<'_>, ()>`
+   | ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `Result<MutexGuard<'_>, ()>`
    |
 help: consider adding semicolon after the expression so its temporaries are dropped sooner, before the local variables declared by the block are dropped
    |
diff --git a/src/test/ui/nll/issue-57642-higher-ranked-subtype.rs b/src/test/ui/nll/issue-57642-higher-ranked-subtype.rs
index 36c54628317..b222b90e4af 100644
--- a/src/test/ui/nll/issue-57642-higher-ranked-subtype.rs
+++ b/src/test/ui/nll/issue-57642-higher-ranked-subtype.rs
@@ -31,7 +31,7 @@ impl<T> Y for fn(T) {
 }
 
 fn higher_ranked_region_has_lost_its_binder() {
-    let x = <fn (&())>::make_g(); //~ ERROR no function
+    let x = <fn (&())>::make_g(); //~ ERROR the function
 }
 
 fn magical() {
diff --git a/src/test/ui/nll/issue-57642-higher-ranked-subtype.stderr b/src/test/ui/nll/issue-57642-higher-ranked-subtype.stderr
index f6909819342..95811ea05b8 100644
--- a/src/test/ui/nll/issue-57642-higher-ranked-subtype.stderr
+++ b/src/test/ui/nll/issue-57642-higher-ranked-subtype.stderr
@@ -1,10 +1,10 @@
-error[E0599]: no function or associated item named `make_g` found for fn pointer `for<'r> fn(&'r ())` in the current scope
+error[E0599]: the function or associated item `make_g` exists for fn pointer `for<'r> fn(&'r ())`, but its trait bounds were not satisfied
   --> $DIR/issue-57642-higher-ranked-subtype.rs:34:25
    |
 LL |     let x = <fn (&())>::make_g();
-   |                         ^^^^^^ function or associated item not found in `for<'r> fn(&'r ())`
+   |                         ^^^^^^ function or associated item cannot be called on `for<'r> fn(&'r ())` due to unsatisfied trait bounds
    |
-   = note: the method `make_g` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `for<'r> fn(&'r ()): X`
    = help: items from traits can only be used if the trait is implemented and in scope
 note: `X` defines an item `make_g`, perhaps you need to implement it
diff --git a/src/test/ui/nll/outlives-suggestion-simple.stderr b/src/test/ui/nll/outlives-suggestion-simple.stderr
index 6300ea66511..bfe98a71a99 100644
--- a/src/test/ui/nll/outlives-suggestion-simple.stderr
+++ b/src/test/ui/nll/outlives-suggestion-simple.stderr
@@ -106,3 +106,4 @@ LL |         Bar2::new(&self)
 
 error: aborting due to 9 previous errors
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/nll/user-annotations/closure-substs.stderr b/src/test/ui/nll/user-annotations/closure-substs.stderr
index e3e294106d1..37e751aeb67 100644
--- a/src/test/ui/nll/user-annotations/closure-substs.stderr
+++ b/src/test/ui/nll/user-annotations/closure-substs.stderr
@@ -38,3 +38,4 @@ LL |         b(x);
 
 error: aborting due to 4 previous errors
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/panic-brace.rs b/src/test/ui/non-fmt-panic.rs
index 754dcc287d0..25c53316e12 100644
--- a/src/test/ui/panic-brace.rs
+++ b/src/test/ui/non-fmt-panic.rs
@@ -13,19 +13,27 @@ fn main() {
     core::panic!("Hello {}"); //~ WARN panic message contains an unused formatting placeholder
     assert!(false, "{:03x} {test} bla");
     //~^ WARN panic message contains unused formatting placeholders
+    assert!(false, S);
+    //~^ WARN panic message is not a string literal
     debug_assert!(false, "{{}} bla"); //~ WARN panic message contains braces
-    panic!(C); // No warning (yet)
-    panic!(S); // No warning (yet)
+    panic!(C); //~ WARN panic message is not a string literal
+    panic!(S); //~ WARN panic message is not a string literal
+    std::panic!(123); //~ WARN panic message is not a string literal
+    core::panic!(&*"abc"); //~ WARN panic message is not a string literal
     panic!(concat!("{", "}")); //~ WARN panic message contains an unused formatting placeholder
     panic!(concat!("{", "{")); //~ WARN panic message contains braces
 
     fancy_panic::fancy_panic!("test {} 123");
     //~^ WARN panic message contains an unused formatting placeholder
 
+    fancy_panic::fancy_panic!(S);
+    //~^ WARN panic message is not a string literal
+
     // Check that the lint only triggers for std::panic and core::panic,
     // not any panic macro:
     macro_rules! panic {
         ($e:expr) => ();
     }
     panic!("{}"); // OK
+    panic!(S); // OK
 }
diff --git a/src/test/ui/panic-brace.stderr b/src/test/ui/non-fmt-panic.stderr
index 93808891c3c..45187c518c4 100644
--- a/src/test/ui/panic-brace.stderr
+++ b/src/test/ui/non-fmt-panic.stderr
@@ -1,35 +1,35 @@
 warning: panic message contains a brace
-  --> $DIR/panic-brace.rs:11:29
+  --> $DIR/non-fmt-panic.rs:11:29
    |
 LL |     panic!("here's a brace: {");
    |                             ^
    |
-   = note: `#[warn(panic_fmt)]` on by default
-   = note: this message is not used as a format string, but will be in a future Rust edition
+   = note: `#[warn(non_fmt_panic)]` on by default
+   = note: this message is not used as a format string, but will be in Rust 2021
 help: add a "{}" format string to use the message literally
    |
 LL |     panic!("{}", "here's a brace: {");
    |            ^^^^^
 
 warning: panic message contains a brace
-  --> $DIR/panic-brace.rs:12:31
+  --> $DIR/non-fmt-panic.rs:12:31
    |
 LL |     std::panic!("another one: }");
    |                               ^
    |
-   = note: this message is not used as a format string, but will be in a future Rust edition
+   = note: this message is not used as a format string, but will be in Rust 2021
 help: add a "{}" format string to use the message literally
    |
 LL |     std::panic!("{}", "another one: }");
    |                 ^^^^^
 
 warning: panic message contains an unused formatting placeholder
-  --> $DIR/panic-brace.rs:13:25
+  --> $DIR/non-fmt-panic.rs:13:25
    |
 LL |     core::panic!("Hello {}");
    |                         ^^
    |
-   = note: this message is not used as a format string when given without arguments, but will be in a future Rust edition
+   = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
 help: add the missing argument
    |
 LL |     core::panic!("Hello {}", ...);
@@ -40,12 +40,12 @@ LL |     core::panic!("{}", "Hello {}");
    |                  ^^^^^
 
 warning: panic message contains unused formatting placeholders
-  --> $DIR/panic-brace.rs:14:21
+  --> $DIR/non-fmt-panic.rs:14:21
    |
 LL |     assert!(false, "{:03x} {test} bla");
    |                     ^^^^^^ ^^^^^^
    |
-   = note: this message is not used as a format string when given without arguments, but will be in a future Rust edition
+   = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
 help: add the missing arguments
    |
 LL |     assert!(false, "{:03x} {test} bla", ...);
@@ -55,25 +55,97 @@ help: or add a "{}" format string to use the message literally
 LL |     assert!(false, "{}", "{:03x} {test} bla");
    |                    ^^^^^
 
+warning: panic message is not a string literal
+  --> $DIR/non-fmt-panic.rs:16:20
+   |
+LL |     assert!(false, S);
+   |                    ^
+   |
+   = note: this is no longer accepted in Rust 2021
+help: add a "{}" format string to Display the message
+   |
+LL |     assert!(false, "{}", S);
+   |                    ^^^^^
+
 warning: panic message contains braces
-  --> $DIR/panic-brace.rs:16:27
+  --> $DIR/non-fmt-panic.rs:18:27
    |
 LL |     debug_assert!(false, "{{}} bla");
    |                           ^^^^
    |
-   = note: this message is not used as a format string, but will be in a future Rust edition
+   = note: this message is not used as a format string, but will be in Rust 2021
 help: add a "{}" format string to use the message literally
    |
 LL |     debug_assert!(false, "{}", "{{}} bla");
    |                          ^^^^^
 
+warning: panic message is not a string literal
+  --> $DIR/non-fmt-panic.rs:19:12
+   |
+LL |     panic!(C);
+   |            ^
+   |
+   = note: this is no longer accepted in Rust 2021
+help: add a "{}" format string to Display the message
+   |
+LL |     panic!("{}", C);
+   |            ^^^^^
+help: or use std::panic::panic_any instead
+   |
+LL |     std::panic::panic_any(C);
+   |     ^^^^^^^^^^^^^^^^^^^^^^
+
+warning: panic message is not a string literal
+  --> $DIR/non-fmt-panic.rs:20:12
+   |
+LL |     panic!(S);
+   |            ^
+   |
+   = note: this is no longer accepted in Rust 2021
+help: add a "{}" format string to Display the message
+   |
+LL |     panic!("{}", S);
+   |            ^^^^^
+help: or use std::panic::panic_any instead
+   |
+LL |     std::panic::panic_any(S);
+   |     ^^^^^^^^^^^^^^^^^^^^^^
+
+warning: panic message is not a string literal
+  --> $DIR/non-fmt-panic.rs:21:17
+   |
+LL |     std::panic!(123);
+   |                 ^^^
+   |
+   = note: this is no longer accepted in Rust 2021
+help: add a "{}" format string to Display the message
+   |
+LL |     std::panic!("{}", 123);
+   |                 ^^^^^
+help: or use std::panic::panic_any instead
+   |
+LL |     std::panic::panic_any(123);
+   |     ^^^^^^^^^^^^^^^^^^^^^^
+
+warning: panic message is not a string literal
+  --> $DIR/non-fmt-panic.rs:22:18
+   |
+LL |     core::panic!(&*"abc");
+   |                  ^^^^^^^
+   |
+   = note: this is no longer accepted in Rust 2021
+help: add a "{}" format string to Display the message
+   |
+LL |     core::panic!("{}", &*"abc");
+   |                  ^^^^^
+
 warning: panic message contains an unused formatting placeholder
-  --> $DIR/panic-brace.rs:19:12
+  --> $DIR/non-fmt-panic.rs:23:12
    |
 LL |     panic!(concat!("{", "}"));
    |            ^^^^^^^^^^^^^^^^^
    |
-   = note: this message is not used as a format string when given without arguments, but will be in a future Rust edition
+   = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
 help: add the missing argument
    |
 LL |     panic!(concat!("{", "}"), ...);
@@ -84,24 +156,32 @@ LL |     panic!("{}", concat!("{", "}"));
    |            ^^^^^
 
 warning: panic message contains braces
-  --> $DIR/panic-brace.rs:20:5
+  --> $DIR/non-fmt-panic.rs:24:5
    |
 LL |     panic!(concat!("{", "{"));
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-   = note: this message is not used as a format string, but will be in a future Rust edition
+   = note: this message is not used as a format string, but will be in Rust 2021
 help: add a "{}" format string to use the message literally
    |
 LL |     panic!("{}", concat!("{", "{"));
    |            ^^^^^
 
 warning: panic message contains an unused formatting placeholder
-  --> $DIR/panic-brace.rs:22:37
+  --> $DIR/non-fmt-panic.rs:26:37
    |
 LL |     fancy_panic::fancy_panic!("test {} 123");
    |                                     ^^
    |
-   = note: this message is not used as a format string when given without arguments, but will be in a future Rust edition
+   = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
+
+warning: panic message is not a string literal
+  --> $DIR/non-fmt-panic.rs:29:31
+   |
+LL |     fancy_panic::fancy_panic!(S);
+   |                               ^
+   |
+   = note: this is no longer accepted in Rust 2021
 
-warning: 8 warnings emitted
+warning: 14 warnings emitted
 
diff --git a/src/test/ui/numeric/numeric-fields.stderr b/src/test/ui/numeric/numeric-fields.stderr
index 5202393f559..13b6cfae4ec 100644
--- a/src/test/ui/numeric/numeric-fields.stderr
+++ b/src/test/ui/numeric/numeric-fields.stderr
@@ -7,7 +7,7 @@ LL | struct S(u8, u16);
 LL |     let s = S{0b1: 10, 0: 11};
    |             - ^^^ field does not exist
    |             |
-   |             `S` is a tuple struct, use the appropriate syntax: `S(/* fields */)`
+   |             help: `S` is a tuple struct, use the appropriate syntax: `S(/* fields */)`
 
 error[E0026]: struct `S` does not have a field named `0x1`
   --> $DIR/numeric-fields.rs:7:17
diff --git a/src/test/ui/object-lifetime/object-lifetime-default-mybox.nll.stderr b/src/test/ui/object-lifetime/object-lifetime-default-mybox.nll.stderr
index d871eb5327d..42dae7e40db 100644
--- a/src/test/ui/object-lifetime/object-lifetime-default-mybox.nll.stderr
+++ b/src/test/ui/object-lifetime/object-lifetime-default-mybox.nll.stderr
@@ -23,3 +23,4 @@ LL |     load0(ss)
 
 error: aborting due to 2 previous errors
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/or-patterns/inconsistent-modes.stderr b/src/test/ui/or-patterns/inconsistent-modes.stderr
index c5dcef36e05..15790771043 100644
--- a/src/test/ui/or-patterns/inconsistent-modes.stderr
+++ b/src/test/ui/or-patterns/inconsistent-modes.stderr
@@ -65,7 +65,7 @@ error[E0308]: mismatched types
   --> $DIR/inconsistent-modes.rs:14:31
    |
 LL |     let Ok((ref a, b)) | Err((ref mut a, ref b)) = Ok((0, &0));
-   |             -----             ^^^^^^^^^            ----------- this expression has type `std::result::Result<({integer}, &{integer}), (_, _)>`
+   |             -----             ^^^^^^^^^            ----------- this expression has type `Result<({integer}, &{integer}), (_, _)>`
    |             |                 |
    |             |                 types differ in mutability
    |             first introduced with type `&{integer}` here
diff --git a/src/test/ui/pattern/or-pattern-macro-pat.rs b/src/test/ui/or-patterns/macro-pat.rs
index 8749407675b..8749407675b 100644
--- a/src/test/ui/pattern/or-pattern-macro-pat.rs
+++ b/src/test/ui/or-patterns/macro-pat.rs
diff --git a/src/test/ui/panics/explicit-panic-msg.rs b/src/test/ui/panics/explicit-panic-msg.rs
index 1789e2e62c8..bfcc12cd186 100644
--- a/src/test/ui/panics/explicit-panic-msg.rs
+++ b/src/test/ui/panics/explicit-panic-msg.rs
@@ -1,5 +1,6 @@
 #![allow(unused_assignments)]
 #![allow(unused_variables)]
+#![allow(non_fmt_panic)]
 
 // run-fail
 // error-pattern:wooooo
diff --git a/src/test/ui/panics/panic-2021.rs b/src/test/ui/panics/panic-2021.rs
new file mode 100644
index 00000000000..e606612e108
--- /dev/null
+++ b/src/test/ui/panics/panic-2021.rs
@@ -0,0 +1,9 @@
+// edition:2021
+
+fn main() {
+    panic!(123); //~ ERROR: format argument must be a string literal
+    panic!("{}"); //~ ERROR: 1 positional argument in format string
+    core::panic!("{}"); //~ ERROR: 1 positional argument in format string
+    assert!(false, 123); //~ ERROR: format argument must be a string literal
+    assert!(false, "{}"); //~ ERROR: 1 positional argument in format string
+}
diff --git a/src/test/ui/panics/panic-2021.stderr b/src/test/ui/panics/panic-2021.stderr
new file mode 100644
index 00000000000..59b1e4f7a98
--- /dev/null
+++ b/src/test/ui/panics/panic-2021.stderr
@@ -0,0 +1,42 @@
+error: format argument must be a string literal
+  --> $DIR/panic-2021.rs:4:12
+   |
+LL |     panic!(123);
+   |            ^^^
+   |
+help: you might be missing a string literal to format with
+   |
+LL |     panic!("{}", 123);
+   |            ^^^^^
+
+error: 1 positional argument in format string, but no arguments were given
+  --> $DIR/panic-2021.rs:5:13
+   |
+LL |     panic!("{}");
+   |             ^^
+
+error: 1 positional argument in format string, but no arguments were given
+  --> $DIR/panic-2021.rs:6:19
+   |
+LL |     core::panic!("{}");
+   |                   ^^
+
+error: format argument must be a string literal
+  --> $DIR/panic-2021.rs:7:20
+   |
+LL |     assert!(false, 123);
+   |                    ^^^
+   |
+help: you might be missing a string literal to format with
+   |
+LL |     assert!(false, "{}", 123);
+   |                    ^^^^^
+
+error: 1 positional argument in format string, but no arguments were given
+  --> $DIR/panic-2021.rs:8:21
+   |
+LL |     assert!(false, "{}");
+   |                     ^^
+
+error: aborting due to 5 previous errors
+
diff --git a/src/test/ui/panics/panic-macro-any-wrapped.rs b/src/test/ui/panics/panic-macro-any-wrapped.rs
index 80c87c6f32c..95ae6ffe8be 100644
--- a/src/test/ui/panics/panic-macro-any-wrapped.rs
+++ b/src/test/ui/panics/panic-macro-any-wrapped.rs
@@ -2,6 +2,8 @@
 // error-pattern:panicked at 'Box<Any>'
 // ignore-emscripten no processes
 
+#![allow(non_fmt_panic)]
+
 fn main() {
     panic!(Box::new(612_i64));
 }
diff --git a/src/test/ui/panics/panic-macro-any.rs b/src/test/ui/panics/panic-macro-any.rs
index ffc7114c1f5..d2a7ba3713a 100644
--- a/src/test/ui/panics/panic-macro-any.rs
+++ b/src/test/ui/panics/panic-macro-any.rs
@@ -3,6 +3,7 @@
 // ignore-emscripten no processes
 
 #![feature(box_syntax)]
+#![allow(non_fmt_panic)]
 
 fn main() {
     panic!(box 413 as Box<dyn std::any::Any + Send>);
diff --git a/src/test/ui/panics/while-panic.rs b/src/test/ui/panics/while-panic.rs
index 857f65a2252..3c6ee8fa315 100644
--- a/src/test/ui/panics/while-panic.rs
+++ b/src/test/ui/panics/while-panic.rs
@@ -5,7 +5,7 @@
 // ignore-emscripten no processes
 
 fn main() {
-    panic!({
+    panic!("{}", {
         while true {
             panic!("giraffe")
         }
diff --git a/src/test/ui/parser/ascii-only-character-escape.rs b/src/test/ui/parser/ascii-only-character-escape.rs
index 20d3edf1251..725c8ad2351 100644
--- a/src/test/ui/parser/ascii-only-character-escape.rs
+++ b/src/test/ui/parser/ascii-only-character-escape.rs
@@ -1,6 +1,6 @@
 fn main() {
-    let x = "\x80"; //~ ERROR may only be used
-    let y = "\xff"; //~ ERROR may only be used
-    let z = "\xe2"; //~ ERROR may only be used
+    let x = "\x80"; //~ ERROR out of range hex escape
+    let y = "\xff"; //~ ERROR out of range hex escape
+    let z = "\xe2"; //~ ERROR out of range hex escape
     let a = b"\x00e2";  // ok because byte literal
 }
diff --git a/src/test/ui/parser/ascii-only-character-escape.stderr b/src/test/ui/parser/ascii-only-character-escape.stderr
index cf51b00cdc3..b599b35f4b3 100644
--- a/src/test/ui/parser/ascii-only-character-escape.stderr
+++ b/src/test/ui/parser/ascii-only-character-escape.stderr
@@ -1,20 +1,20 @@
-error: this form of character escape may only be used with characters in the range [\x00-\x7f]
+error: out of range hex escape
   --> $DIR/ascii-only-character-escape.rs:2:14
    |
 LL |     let x = "\x80";
-   |              ^^^^
+   |              ^^^^ must be a character in the range [\x00-\x7f]
 
-error: this form of character escape may only be used with characters in the range [\x00-\x7f]
+error: out of range hex escape
   --> $DIR/ascii-only-character-escape.rs:3:14
    |
 LL |     let y = "\xff";
-   |              ^^^^
+   |              ^^^^ must be a character in the range [\x00-\x7f]
 
-error: this form of character escape may only be used with characters in the range [\x00-\x7f]
+error: out of range hex escape
   --> $DIR/ascii-only-character-escape.rs:4:14
    |
 LL |     let z = "\xe2";
-   |              ^^^^
+   |              ^^^^ must be a character in the range [\x00-\x7f]
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/parser/bad-char-literals.rs b/src/test/ui/parser/bad-char-literals.rs
index 11696b82bc9..748b4a22253 100644
--- a/src/test/ui/parser/bad-char-literals.rs
+++ b/src/test/ui/parser/bad-char-literals.rs
@@ -4,17 +4,17 @@
 fn main() {
     // these literals are just silly.
     ''';
-    //~^ ERROR: character constant must be escaped: '
+    //~^ ERROR: character constant must be escaped: `'`
 
     // note that this is a literal "\n" byte
     '
 ';
-    //~^^ ERROR: character constant must be escaped: \n
+    //~^^ ERROR: character constant must be escaped: `\n`
 
     // note that this is a literal "\r" byte
-    '
'; //~ ERROR: character constant must be escaped: \r
+    '
'; //~ ERROR: character constant must be escaped: `\r`
 
     // note that this is a literal tab character here
     '	';
-    //~^ ERROR: character constant must be escaped: \t
+    //~^ ERROR: character constant must be escaped: `\t`
 }
diff --git a/src/test/ui/parser/bad-char-literals.stderr b/src/test/ui/parser/bad-char-literals.stderr
index 093978fd84d..a22ddbac1b9 100644
--- a/src/test/ui/parser/bad-char-literals.stderr
+++ b/src/test/ui/parser/bad-char-literals.stderr
@@ -1,28 +1,28 @@
-error: character constant must be escaped: '
+error: character constant must be escaped: `'`
   --> $DIR/bad-char-literals.rs:6:6
    |
 LL |     ''';
-   |      ^
+   |      ^ help: escape the character: `\'`
 
-error: character constant must be escaped: \n
+error: character constant must be escaped: `\n`
   --> $DIR/bad-char-literals.rs:10:6
    |
 LL |       '
    |  ______^
 LL | | ';
-   | |_
+   | |_ help: escape the character: `\n`
 
-error: character constant must be escaped: \r
+error: character constant must be escaped: `\r`
   --> $DIR/bad-char-literals.rs:15:6
    |
 LL |     '
';
-   |      ^
+   |      ^ help: escape the character: `\r`
 
-error: character constant must be escaped: \t
+error: character constant must be escaped: `\t`
   --> $DIR/bad-char-literals.rs:18:6
    |
 LL |     '    ';
-   |      ^^^^
+   |      ^^^^ help: escape the character: `\t`
 
 error: aborting due to 4 previous errors
 
diff --git a/src/test/ui/parser/byte-literals.rs b/src/test/ui/parser/byte-literals.rs
index 9683a83e720..05a510b24a7 100644
--- a/src/test/ui/parser/byte-literals.rs
+++ b/src/test/ui/parser/byte-literals.rs
@@ -4,9 +4,9 @@ static FOO: u8 = b'\f';  //~ ERROR unknown byte escape
 
 pub fn main() {
     b'\f';  //~ ERROR unknown byte escape
-    b'\x0Z';  //~ ERROR invalid character in numeric character escape: Z
+    b'\x0Z';  //~ ERROR invalid character in numeric character escape: `Z`
     b'	';  //~ ERROR byte constant must be escaped
     b''';  //~ ERROR byte constant must be escaped
-    b'é';  //~ ERROR byte constant must be ASCII
+    b'é';  //~ ERROR non-ASCII character in byte constant
     b'a  //~ ERROR unterminated byte constant [E0763]
 }
diff --git a/src/test/ui/parser/byte-literals.stderr b/src/test/ui/parser/byte-literals.stderr
index 7bbdc07cd83..55be113e16b 100644
--- a/src/test/ui/parser/byte-literals.stderr
+++ b/src/test/ui/parser/byte-literals.stderr
@@ -1,38 +1,45 @@
-error: unknown byte escape: f
+error: unknown byte escape: `f`
   --> $DIR/byte-literals.rs:3:21
    |
 LL | static FOO: u8 = b'\f';
    |                     ^ unknown byte escape
+   |
+   = help: for more information, visit <https://static.rust-lang.org/doc/master/reference.html#literals>
 
-error: unknown byte escape: f
+error: unknown byte escape: `f`
   --> $DIR/byte-literals.rs:6:8
    |
 LL |     b'\f';
    |        ^ unknown byte escape
+   |
+   = help: for more information, visit <https://static.rust-lang.org/doc/master/reference.html#literals>
 
-error: invalid character in numeric character escape: Z
+error: invalid character in numeric character escape: `Z`
   --> $DIR/byte-literals.rs:7:10
    |
 LL |     b'\x0Z';
-   |          ^
+   |          ^ invalid character in numeric character escape
 
-error: byte constant must be escaped: \t
+error: byte constant must be escaped: `\t`
   --> $DIR/byte-literals.rs:8:7
    |
 LL |     b'    ';
-   |       ^^^^
+   |       ^^^^ help: escape the character: `\t`
 
-error: byte constant must be escaped: '
+error: byte constant must be escaped: `'`
   --> $DIR/byte-literals.rs:9:7
    |
 LL |     b''';
-   |       ^
+   |       ^ help: escape the character: `\'`
 
-error: byte constant must be ASCII. Use a \xHH escape for a non-ASCII byte
+error: non-ASCII character in byte constant
   --> $DIR/byte-literals.rs:10:7
    |
 LL |     b'é';
    |       ^
+   |       |
+   |       byte constant must be ASCII
+   |       help: use a \xHH escape for a non-ASCII byte: `\xE9`
 
 error[E0763]: unterminated byte constant
   --> $DIR/byte-literals.rs:11:6
diff --git a/src/test/ui/parser/byte-string-literals.rs b/src/test/ui/parser/byte-string-literals.rs
index caffd9efbed..b1f11024a7b 100644
--- a/src/test/ui/parser/byte-string-literals.rs
+++ b/src/test/ui/parser/byte-string-literals.rs
@@ -2,7 +2,8 @@ static FOO: &'static [u8] = b"\f";  //~ ERROR unknown byte escape
 
 pub fn main() {
     b"\f";  //~ ERROR unknown byte escape
-    b"\x0Z";  //~ ERROR invalid character in numeric character escape: Z
-    b"é";  //~ ERROR byte constant must be ASCII
+    b"\x0Z";  //~ ERROR invalid character in numeric character escape: `Z`
+    b"é";  //~ ERROR non-ASCII character in byte constant
+    br##"é"##;  //~ ERROR raw byte string must be ASCII
     b"a  //~ ERROR unterminated double quote byte string
 }
diff --git a/src/test/ui/parser/byte-string-literals.stderr b/src/test/ui/parser/byte-string-literals.stderr
index 9be90644147..3a5a8b331d3 100644
--- a/src/test/ui/parser/byte-string-literals.stderr
+++ b/src/test/ui/parser/byte-string-literals.stderr
@@ -1,35 +1,48 @@
-error: unknown byte escape: f
+error: unknown byte escape: `f`
   --> $DIR/byte-string-literals.rs:1:32
    |
 LL | static FOO: &'static [u8] = b"\f";
    |                                ^ unknown byte escape
+   |
+   = help: for more information, visit <https://static.rust-lang.org/doc/master/reference.html#literals>
 
-error: unknown byte escape: f
+error: unknown byte escape: `f`
   --> $DIR/byte-string-literals.rs:4:8
    |
 LL |     b"\f";
    |        ^ unknown byte escape
+   |
+   = help: for more information, visit <https://static.rust-lang.org/doc/master/reference.html#literals>
 
-error: invalid character in numeric character escape: Z
+error: invalid character in numeric character escape: `Z`
   --> $DIR/byte-string-literals.rs:5:10
    |
 LL |     b"\x0Z";
-   |          ^
+   |          ^ invalid character in numeric character escape
 
-error: byte constant must be ASCII. Use a \xHH escape for a non-ASCII byte
+error: non-ASCII character in byte constant
   --> $DIR/byte-string-literals.rs:6:7
    |
 LL |     b"é";
    |       ^
+   |       |
+   |       byte constant must be ASCII
+   |       help: use a \xHH escape for a non-ASCII byte: `\xE9`
+
+error: raw byte string must be ASCII
+  --> $DIR/byte-string-literals.rs:7:10
+   |
+LL |     br##"é"##;
+   |          ^ must be ASCII
 
 error[E0766]: unterminated double quote byte string
-  --> $DIR/byte-string-literals.rs:7:6
+  --> $DIR/byte-string-literals.rs:8:6
    |
 LL |       b"a
    |  ______^
 LL | | }
    | |__^
 
-error: aborting due to 5 previous errors
+error: aborting due to 6 previous errors
 
 For more information about this error, try `rustc --explain E0766`.
diff --git a/src/test/ui/issues/issue-20616-8.rs b/src/test/ui/parser/issue-20616-8.rs
index 3ceb58d1252..3ceb58d1252 100644
--- a/src/test/ui/issues/issue-20616-8.rs
+++ b/src/test/ui/parser/issue-20616-8.rs
diff --git a/src/test/ui/issues/issue-20616-8.stderr b/src/test/ui/parser/issue-20616-8.stderr
index e9f37e50fff..e9f37e50fff 100644
--- a/src/test/ui/issues/issue-20616-8.stderr
+++ b/src/test/ui/parser/issue-20616-8.stderr
diff --git a/src/test/ui/issues/issue-20616-9.rs b/src/test/ui/parser/issue-20616-9.rs
index 7f84284481e..7f84284481e 100644
--- a/src/test/ui/issues/issue-20616-9.rs
+++ b/src/test/ui/parser/issue-20616-9.rs
diff --git a/src/test/ui/issues/issue-20616-9.stderr b/src/test/ui/parser/issue-20616-9.stderr
index dc309d1bce1..dc309d1bce1 100644
--- a/src/test/ui/issues/issue-20616-9.stderr
+++ b/src/test/ui/parser/issue-20616-9.stderr
diff --git a/src/test/ui/parser/issue-23620-invalid-escapes.rs b/src/test/ui/parser/issue-23620-invalid-escapes.rs
index ab445a93294..c1355f0d6fe 100644
--- a/src/test/ui/parser/issue-23620-invalid-escapes.rs
+++ b/src/test/ui/parser/issue-23620-invalid-escapes.rs
@@ -1,9 +1,9 @@
 fn main() {
     let _ = b"\u{a66e}";
-    //~^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
+    //~^ ERROR unicode escape in byte string
 
     let _ = b'\u{a66e}';
-    //~^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
+    //~^ ERROR unicode escape in byte string
 
     let _ = b'\u';
     //~^ ERROR incorrect unicode escape sequence
@@ -12,21 +12,21 @@ fn main() {
     //~^ ERROR numeric character escape is too short
 
     let _ = b'\xxy';
-    //~^ ERROR invalid character in numeric character escape: x
+    //~^ ERROR invalid character in numeric character escape: `x`
 
     let _ = '\x5';
     //~^ ERROR numeric character escape is too short
 
     let _ = '\xxy';
-    //~^ ERROR invalid character in numeric character escape: x
+    //~^ ERROR invalid character in numeric character escape: `x`
 
     let _ = b"\u{a4a4} \xf \u";
-    //~^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
-    //~^^ ERROR invalid character in numeric character escape:
+    //~^ ERROR unicode escape in byte string
+    //~^^ ERROR invalid character in numeric character escape: ` `
     //~^^^ ERROR incorrect unicode escape sequence
 
     let _ = "\xf \u";
-    //~^ ERROR invalid character in numeric character escape:
+    //~^ ERROR invalid character in numeric character escape: ` `
     //~^^ ERROR incorrect unicode escape sequence
 
     let _ = "\u8f";
diff --git a/src/test/ui/parser/issue-23620-invalid-escapes.stderr b/src/test/ui/parser/issue-23620-invalid-escapes.stderr
index 8c924ad0330..88d97c795fc 100644
--- a/src/test/ui/parser/issue-23620-invalid-escapes.stderr
+++ b/src/test/ui/parser/issue-23620-invalid-escapes.stderr
@@ -1,14 +1,18 @@
-error: unicode escape sequences cannot be used as a byte or in a byte string
+error: unicode escape in byte string
   --> $DIR/issue-23620-invalid-escapes.rs:2:15
    |
 LL |     let _ = b"\u{a66e}";
-   |               ^^^^^^^^
+   |               ^^^^^^^^ unicode escape in byte string
+   |
+   = help: unicode escape sequences cannot be used as a byte or in a byte string
 
-error: unicode escape sequences cannot be used as a byte or in a byte string
+error: unicode escape in byte string
   --> $DIR/issue-23620-invalid-escapes.rs:5:15
    |
 LL |     let _ = b'\u{a66e}';
-   |               ^^^^^^^^
+   |               ^^^^^^^^ unicode escape in byte string
+   |
+   = help: unicode escape sequences cannot be used as a byte or in a byte string
 
 error: incorrect unicode escape sequence
   --> $DIR/issue-23620-invalid-escapes.rs:8:15
@@ -24,11 +28,11 @@ error: numeric character escape is too short
 LL |     let _ = b'\x5';
    |               ^^^
 
-error: invalid character in numeric character escape: x
+error: invalid character in numeric character escape: `x`
   --> $DIR/issue-23620-invalid-escapes.rs:14:17
    |
 LL |     let _ = b'\xxy';
-   |                 ^
+   |                 ^ invalid character in numeric character escape
 
 error: numeric character escape is too short
   --> $DIR/issue-23620-invalid-escapes.rs:17:14
@@ -36,23 +40,25 @@ error: numeric character escape is too short
 LL |     let _ = '\x5';
    |              ^^^
 
-error: invalid character in numeric character escape: x
+error: invalid character in numeric character escape: `x`
   --> $DIR/issue-23620-invalid-escapes.rs:20:16
    |
 LL |     let _ = '\xxy';
-   |                ^
+   |                ^ invalid character in numeric character escape
 
-error: unicode escape sequences cannot be used as a byte or in a byte string
+error: unicode escape in byte string
   --> $DIR/issue-23620-invalid-escapes.rs:23:15
    |
 LL |     let _ = b"\u{a4a4} \xf \u";
-   |               ^^^^^^^^
+   |               ^^^^^^^^ unicode escape in byte string
+   |
+   = help: unicode escape sequences cannot be used as a byte or in a byte string
 
-error: invalid character in numeric character escape:  
+error: invalid character in numeric character escape: ` `
   --> $DIR/issue-23620-invalid-escapes.rs:23:27
    |
 LL |     let _ = b"\u{a4a4} \xf \u";
-   |                           ^
+   |                           ^ invalid character in numeric character escape
 
 error: incorrect unicode escape sequence
   --> $DIR/issue-23620-invalid-escapes.rs:23:28
@@ -62,11 +68,11 @@ LL |     let _ = b"\u{a4a4} \xf \u";
    |
    = help: format of unicode escape sequences is `\u{...}`
 
-error: invalid character in numeric character escape:  
+error: invalid character in numeric character escape: ` `
   --> $DIR/issue-23620-invalid-escapes.rs:28:17
    |
 LL |     let _ = "\xf \u";
-   |                 ^
+   |                 ^ invalid character in numeric character escape
 
 error: incorrect unicode escape sequence
   --> $DIR/issue-23620-invalid-escapes.rs:28:18
diff --git a/src/test/ui/parser/issue-43692.stderr b/src/test/ui/parser/issue-43692.stderr
index 69a54af3d82..baf99803517 100644
--- a/src/test/ui/parser/issue-43692.stderr
+++ b/src/test/ui/parser/issue-43692.stderr
@@ -1,8 +1,8 @@
-error: invalid start of unicode escape
+error: invalid start of unicode escape: `_`
   --> $DIR/issue-43692.rs:2:9
    |
 LL |     '\u{_10FFFF}';
-   |         ^
+   |         ^ invalid start of unicode escape
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-57198.rs b/src/test/ui/parser/issue-57198.rs
index 714a46cbc9f..714a46cbc9f 100644
--- a/src/test/ui/issues/issue-57198.rs
+++ b/src/test/ui/parser/issue-57198.rs
diff --git a/src/test/ui/issues/issue-57198.stderr b/src/test/ui/parser/issue-57198.stderr
index 197c4cc967d..197c4cc967d 100644
--- a/src/test/ui/issues/issue-57198.stderr
+++ b/src/test/ui/parser/issue-57198.stderr
diff --git a/src/test/ui/issues/issue-57684.fixed b/src/test/ui/parser/issue-57684.fixed
index 4a432206d51..4a432206d51 100644
--- a/src/test/ui/issues/issue-57684.fixed
+++ b/src/test/ui/parser/issue-57684.fixed
diff --git a/src/test/ui/issues/issue-57684.rs b/src/test/ui/parser/issue-57684.rs
index 7a62785e32f..7a62785e32f 100644
--- a/src/test/ui/issues/issue-57684.rs
+++ b/src/test/ui/parser/issue-57684.rs
diff --git a/src/test/ui/issues/issue-57684.stderr b/src/test/ui/parser/issue-57684.stderr
index 514bbffde6b..514bbffde6b 100644
--- a/src/test/ui/issues/issue-57684.stderr
+++ b/src/test/ui/parser/issue-57684.stderr
diff --git a/src/test/ui/issues/issue-57819.fixed b/src/test/ui/parser/issue-57819.fixed
index 3fab21db2d0..3fab21db2d0 100644
--- a/src/test/ui/issues/issue-57819.fixed
+++ b/src/test/ui/parser/issue-57819.fixed
diff --git a/src/test/ui/issues/issue-57819.rs b/src/test/ui/parser/issue-57819.rs
index 5cafbf439be..5cafbf439be 100644
--- a/src/test/ui/issues/issue-57819.rs
+++ b/src/test/ui/parser/issue-57819.rs
diff --git a/src/test/ui/issues/issue-57819.stderr b/src/test/ui/parser/issue-57819.stderr
index 493e9835b1c..493e9835b1c 100644
--- a/src/test/ui/issues/issue-57819.stderr
+++ b/src/test/ui/parser/issue-57819.stderr
diff --git a/src/test/ui/issues/issue-58856-1.rs b/src/test/ui/parser/issue-58856-1.rs
index 332a3014416..332a3014416 100644
--- a/src/test/ui/issues/issue-58856-1.rs
+++ b/src/test/ui/parser/issue-58856-1.rs
diff --git a/src/test/ui/issues/issue-58856-1.stderr b/src/test/ui/parser/issue-58856-1.stderr
index f1abb40ed7a..f1abb40ed7a 100644
--- a/src/test/ui/issues/issue-58856-1.stderr
+++ b/src/test/ui/parser/issue-58856-1.stderr
diff --git a/src/test/ui/parser/issue-62913.stderr b/src/test/ui/parser/issue-62913.stderr
index f72174f8929..6f385e8dc17 100644
--- a/src/test/ui/parser/issue-62913.stderr
+++ b/src/test/ui/parser/issue-62913.stderr
@@ -10,7 +10,7 @@ error: invalid trailing slash in literal
   --> $DIR/issue-62913.rs:1:5
    |
 LL | "\u\"
-   |     ^
+   |     ^ invalid trailing slash in literal
 
 error: expected item, found `"\u\"`
   --> $DIR/issue-62913.rs:1:1
diff --git a/src/test/ui/issues/issue-64732.rs b/src/test/ui/parser/issue-64732.rs
index 2db51ea6042..2db51ea6042 100644
--- a/src/test/ui/issues/issue-64732.rs
+++ b/src/test/ui/parser/issue-64732.rs
diff --git a/src/test/ui/issues/issue-64732.stderr b/src/test/ui/parser/issue-64732.stderr
index 3b00ffc8f6c..ac042580962 100644
--- a/src/test/ui/issues/issue-64732.stderr
+++ b/src/test/ui/parser/issue-64732.stderr
@@ -1,13 +1,13 @@
 error: character literal may only contain one codepoint
-  --> $DIR/issue-64732.rs:3:17
+  --> $DIR/issue-64732.rs:3:16
    |
 LL |     let _foo = b'hello\0';
-   |                 ^^^^^^^^^
+   |                ^^^^^^^^^^
    |
 help: if you meant to write a byte string literal, use double quotes
    |
 LL |     let _foo = b"hello\0";
-   |                 ^^^^^^^^^
+   |                ^^^^^^^^^^
 
 error: character literal may only contain one codepoint
   --> $DIR/issue-64732.rs:6:16
diff --git a/src/test/ui/issues/issue-7970b.rs b/src/test/ui/parser/issue-7970b.rs
index 1c4abce3959..1c4abce3959 100644
--- a/src/test/ui/issues/issue-7970b.rs
+++ b/src/test/ui/parser/issue-7970b.rs
diff --git a/src/test/ui/issues/issue-7970b.stderr b/src/test/ui/parser/issue-7970b.stderr
index a62226a8a4d..a62226a8a4d 100644
--- a/src/test/ui/issues/issue-7970b.stderr
+++ b/src/test/ui/parser/issue-7970b.stderr
diff --git a/src/test/ui/parser/issue-8537.stderr b/src/test/ui/parser/issue-8537.stderr
index e33adb239d7..3f63c080210 100644
--- a/src/test/ui/parser/issue-8537.stderr
+++ b/src/test/ui/parser/issue-8537.stderr
@@ -4,7 +4,7 @@ error[E0703]: invalid ABI: found `invalid-ab_isize`
 LL |   "invalid-ab_isize"
    |   ^^^^^^^^^^^^^^^^^^ invalid ABI
    |
-   = help: valid ABIs: Rust, C, cdecl, stdcall, fastcall, vectorcall, thiscall, aapcs, win64, sysv64, ptx-kernel, msp430-interrupt, x86-interrupt, amdgpu-kernel, efiapi, avr-interrupt, avr-non-blocking-interrupt, system, rust-intrinsic, rust-call, platform-intrinsic, unadjusted
+   = help: valid ABIs: Rust, C, cdecl, stdcall, fastcall, vectorcall, thiscall, aapcs, win64, sysv64, ptx-kernel, msp430-interrupt, x86-interrupt, amdgpu-kernel, efiapi, avr-interrupt, avr-non-blocking-interrupt, C-cmse-nonsecure-call, system, rust-intrinsic, rust-call, platform-intrinsic, unadjusted
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/parser/lex-bad-char-literals-1.stderr b/src/test/ui/parser/lex-bad-char-literals-1.stderr
index fcf4802f79b..ed129a1d133 100644
--- a/src/test/ui/parser/lex-bad-char-literals-1.stderr
+++ b/src/test/ui/parser/lex-bad-char-literals-1.stderr
@@ -10,17 +10,21 @@ error: numeric character escape is too short
 LL |     "\x1"
    |      ^^^
 
-error: unknown character escape: \u{25cf}
+error: unknown character escape: `\u{25cf}`
   --> $DIR/lex-bad-char-literals-1.rs:10:7
    |
 LL |     '\●'
    |       ^ unknown character escape
+   |
+   = help: for more information, visit <https://static.rust-lang.org/doc/master/reference.html#literals>
 
-error: unknown character escape: \u{25cf}
+error: unknown character escape: `\u{25cf}`
   --> $DIR/lex-bad-char-literals-1.rs:14:7
    |
 LL |     "\●"
    |       ^ unknown character escape
+   |
+   = help: for more information, visit <https://static.rust-lang.org/doc/master/reference.html#literals>
 
 error: aborting due to 4 previous errors
 
diff --git a/src/test/ui/parser/lex-bad-char-literals-7.rs b/src/test/ui/parser/lex-bad-char-literals-7.rs
index 1580157210e..c675df2f3cc 100644
--- a/src/test/ui/parser/lex-bad-char-literals-7.rs
+++ b/src/test/ui/parser/lex-bad-char-literals-7.rs
@@ -2,7 +2,7 @@ fn main() {
     let _: char = '';
     //~^ ERROR: empty character literal
     let _: char = '\u{}';
-    //~^ ERROR: empty unicode escape (must have at least 1 hex digit)
+    //~^ ERROR: empty unicode escape
 
     // Next two are OK, but may befool error recovery
     let _ = '/';
diff --git a/src/test/ui/parser/lex-bad-char-literals-7.stderr b/src/test/ui/parser/lex-bad-char-literals-7.stderr
index 70ee8087b51..255b9c68999 100644
--- a/src/test/ui/parser/lex-bad-char-literals-7.stderr
+++ b/src/test/ui/parser/lex-bad-char-literals-7.stderr
@@ -2,13 +2,13 @@ error: empty character literal
   --> $DIR/lex-bad-char-literals-7.rs:2:20
    |
 LL |     let _: char = '';
-   |                    ^
+   |                    ^ empty character literal
 
-error: empty unicode escape (must have at least 1 hex digit)
+error: empty unicode escape
   --> $DIR/lex-bad-char-literals-7.rs:4:20
    |
 LL |     let _: char = '\u{}';
-   |                    ^^^^
+   |                    ^^^^ this escape must have at least 1 hex digit
 
 error[E0762]: unterminated character literal
   --> $DIR/lex-bad-char-literals-7.rs:11:13
diff --git a/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.rs b/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.rs
index 9a9f9c433e1..b7752e1f0c4 100644
--- a/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.rs
+++ b/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.rs
@@ -22,5 +22,5 @@ fn main() {
     let _s = r"bar
foo"; //~ ERROR: bare CR not allowed in raw string
 
     // the following string literal has a bare CR in it
-    let _s = "foo\
bar"; //~ ERROR: unknown character escape: \r
+    let _s = "foo\
bar"; //~ ERROR: unknown character escape: `\r`
 }
diff --git a/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.stderr b/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.stderr
index 598da6b9307..1a21fed63bd 100644
--- a/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.stderr
+++ b/src/test/ui/parser/lex-bare-cr-string-literal-doc-comment.stderr
@@ -22,11 +22,11 @@ error: bare CR not allowed in block doc-comment
 LL |     /*! block doc comment with bare CR: '
' */
    |                                          ^
 
-error: bare CR not allowed in string, use \r instead
+error: bare CR not allowed in string, use `\r` instead
   --> $DIR/lex-bare-cr-string-literal-doc-comment.rs:19:18
    |
 LL |     let _s = "foo
bar";
-   |                  ^
+   |                  ^ help: escape the character: `\r`
 
 error: bare CR not allowed in raw string
   --> $DIR/lex-bare-cr-string-literal-doc-comment.rs:22:19
@@ -34,7 +34,7 @@ error: bare CR not allowed in raw string
 LL |     let _s = r"bar
foo";
    |                   ^
 
-error: unknown character escape: \r
+error: unknown character escape: `\r`
   --> $DIR/lex-bare-cr-string-literal-doc-comment.rs:25:19
    |
 LL |     let _s = "foo\
bar";
diff --git a/src/test/ui/parser/macro/literals-are-validated-before-expansion.stderr b/src/test/ui/parser/macro/literals-are-validated-before-expansion.stderr
index d20eb0fb30a..e874f62497e 100644
--- a/src/test/ui/parser/macro/literals-are-validated-before-expansion.stderr
+++ b/src/test/ui/parser/macro/literals-are-validated-before-expansion.stderr
@@ -2,7 +2,7 @@ error: invalid unicode character escape
   --> $DIR/literals-are-validated-before-expansion.rs:6:20
    |
 LL |     black_hole! { '\u{FFFFFF}' }
-   |                    ^^^^^^^^^^
+   |                    ^^^^^^^^^^ invalid escape
    |
    = help: unicode escape must be at most 10FFFF
 
@@ -10,7 +10,7 @@ error: invalid unicode character escape
   --> $DIR/literals-are-validated-before-expansion.rs:8:39
    |
 LL |     black_hole! { "this is surrogate: \u{DAAA}" }
-   |                                       ^^^^^^^^
+   |                                       ^^^^^^^^ invalid escape
    |
    = help: unicode escape must not be a surrogate
 
diff --git a/src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.rs b/src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.rs
new file mode 100644
index 00000000000..da95c1bfa27
--- /dev/null
+++ b/src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.rs
@@ -0,0 +1,23 @@
+struct Foo<T1, T2> {
+  _a : T1,
+  _b : T2,
+}
+
+fn test1<T>(arg : T) {
+  let v : Vec<(u32,_) = vec![];
+    //~^ ERROR: expected one of
+    //~| ERROR: type annotations needed
+}
+
+fn test2<T1, T2>(arg1 : T1, arg2 : T2) {
+  let foo : Foo::<T1, T2 = Foo {_a : arg1, _b : arg2};
+    //~^ ERROR: expected one of
+}
+
+fn test3<'a>(arg : &'a u32) {
+  let v : Vec<'a = vec![];
+    //~^ ERROR: expected one of
+    //~| ERROR: type annotations needed for `Vec<T>`
+}
+
+fn main() {}
diff --git a/src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.stderr b/src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.stderr
new file mode 100644
index 00000000000..ae53334f5e0
--- /dev/null
+++ b/src/test/ui/parser/missing-closing-angle-bracket-eq-constraint.stderr
@@ -0,0 +1,49 @@
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/missing-closing-angle-bracket-eq-constraint.rs:7:23
+   |
+LL |   let v : Vec<(u32,_) = vec![];
+   |       -             - ^ expected one of `,`, `:`, or `>`
+   |       |             |
+   |       |             maybe try to close unmatched angle bracket
+   |       while parsing the type for `v`
+
+error: expected one of `!`, `(`, `+`, `,`, `::`, `<`, or `>`, found `{`
+  --> $DIR/missing-closing-angle-bracket-eq-constraint.rs:13:32
+   |
+LL |   let foo : Foo::<T1, T2 = Foo {_a : arg1, _b : arg2};
+   |       ---                      ^ expected one of 7 possible tokens
+   |       |
+   |       while parsing the type for `foo`
+
+error: expected one of `,`, `:`, or `>`, found `=`
+  --> $DIR/missing-closing-angle-bracket-eq-constraint.rs:18:18
+   |
+LL |   let v : Vec<'a = vec![];
+   |       -       -- ^ expected one of `,`, `:`, or `>`
+   |       |       |
+   |       |       maybe try to close unmatched angle bracket
+   |       while parsing the type for `v`
+
+error[E0282]: type annotations needed for `Vec<T>`
+  --> $DIR/missing-closing-angle-bracket-eq-constraint.rs:7:25
+   |
+LL |   let v : Vec<(u32,_) = vec![];
+   |       -                 ^^^^^^ cannot infer type for type parameter `T`
+   |       |
+   |       consider giving `v` the explicit type `Vec<T>`, where the type parameter `T` is specified
+   |
+   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0282]: type annotations needed for `Vec<T>`
+  --> $DIR/missing-closing-angle-bracket-eq-constraint.rs:18:20
+   |
+LL |   let v : Vec<'a = vec![];
+   |       -            ^^^^^^ cannot infer type for type parameter `T`
+   |       |
+   |       consider giving `v` the explicit type `Vec<T>`, where the type parameter `T` is specified
+   |
+   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error: aborting due to 5 previous errors
+
+For more information about this error, try `rustc --explain E0282`.
diff --git a/src/test/ui/parser/nested-missing-closing-angle-bracket.rs b/src/test/ui/parser/nested-missing-closing-angle-bracket.rs
new file mode 100644
index 00000000000..84ffdd176ae
--- /dev/null
+++ b/src/test/ui/parser/nested-missing-closing-angle-bracket.rs
@@ -0,0 +1,4 @@
+fn main() {
+  let v : Vec::<Vec<(u32,_,_)> = vec![vec![]];
+    //~^ ERROR: expected one of
+}
diff --git a/src/test/ui/parser/nested-missing-closing-angle-bracket.stderr b/src/test/ui/parser/nested-missing-closing-angle-bracket.stderr
new file mode 100644
index 00000000000..b85bc02568c
--- /dev/null
+++ b/src/test/ui/parser/nested-missing-closing-angle-bracket.stderr
@@ -0,0 +1,8 @@
+error: expected one of `,` or `>`, found `;`
+  --> $DIR/nested-missing-closing-angle-bracket.rs:2:46
+   |
+LL |   let v : Vec::<Vec<(u32,_,_)> = vec![vec![]];
+   |       - while parsing the type for `v`       ^ expected one of `,` or `>`
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/parser/new-unicode-escapes-1.rs b/src/test/ui/parser/new-unicode-escapes-1.rs
index 0e1421214d9..d6a54660ea6 100644
--- a/src/test/ui/parser/new-unicode-escapes-1.rs
+++ b/src/test/ui/parser/new-unicode-escapes-1.rs
@@ -1,3 +1,3 @@
 pub fn main() {
-    let s = "\u{2603"; //~ ERROR unterminated unicode escape (needed a `}`)
+    let s = "\u{2603"; //~ ERROR unterminated unicode escape
 }
diff --git a/src/test/ui/parser/new-unicode-escapes-1.stderr b/src/test/ui/parser/new-unicode-escapes-1.stderr
index 22d6a0981ff..1ffdc0401e5 100644
--- a/src/test/ui/parser/new-unicode-escapes-1.stderr
+++ b/src/test/ui/parser/new-unicode-escapes-1.stderr
@@ -1,8 +1,13 @@
-error: unterminated unicode escape (needed a `}`)
+error: unterminated unicode escape
   --> $DIR/new-unicode-escapes-1.rs:2:14
    |
 LL |     let s = "\u{2603";
-   |              ^^^^^^^
+   |              ^^^^^^^ missing a closing `}`
+   |
+help: terminate the unicode escape
+   |
+LL |     let s = "\u{2603}";
+   |                     ^
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/parser/new-unicode-escapes-2.rs b/src/test/ui/parser/new-unicode-escapes-2.rs
index b30b3dbf903..cbb614c19c0 100644
--- a/src/test/ui/parser/new-unicode-escapes-2.rs
+++ b/src/test/ui/parser/new-unicode-escapes-2.rs
@@ -1,3 +1,3 @@
 pub fn main() {
-    let s = "\u{260311111111}"; //~ ERROR overlong unicode escape (must have at most 6 hex digits)
+    let s = "\u{260311111111}"; //~ ERROR overlong unicode escape
 }
diff --git a/src/test/ui/parser/new-unicode-escapes-2.stderr b/src/test/ui/parser/new-unicode-escapes-2.stderr
index b5148279c74..2f3f8c0f9da 100644
--- a/src/test/ui/parser/new-unicode-escapes-2.stderr
+++ b/src/test/ui/parser/new-unicode-escapes-2.stderr
@@ -1,8 +1,8 @@
-error: overlong unicode escape (must have at most 6 hex digits)
+error: overlong unicode escape
   --> $DIR/new-unicode-escapes-2.rs:2:14
    |
 LL |     let s = "\u{260311111111}";
-   |              ^^^^^^^^^^^^^^^^
+   |              ^^^^^^^^^^^^^^^^ must have at most 6 hex digits
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/parser/new-unicode-escapes-3.stderr b/src/test/ui/parser/new-unicode-escapes-3.stderr
index 361698467f9..f5a0f8fc785 100644
--- a/src/test/ui/parser/new-unicode-escapes-3.stderr
+++ b/src/test/ui/parser/new-unicode-escapes-3.stderr
@@ -2,7 +2,7 @@ error: invalid unicode character escape
   --> $DIR/new-unicode-escapes-3.rs:2:15
    |
 LL |     let s1 = "\u{d805}";
-   |               ^^^^^^^^
+   |               ^^^^^^^^ invalid escape
    |
    = help: unicode escape must not be a surrogate
 
@@ -10,7 +10,7 @@ error: invalid unicode character escape
   --> $DIR/new-unicode-escapes-3.rs:3:15
    |
 LL |     let s2 = "\u{ffffff}";
-   |               ^^^^^^^^^^
+   |               ^^^^^^^^^^ invalid escape
    |
    = help: unicode escape must be at most 10FFFF
 
diff --git a/src/test/ui/parser/new-unicode-escapes-4.rs b/src/test/ui/parser/new-unicode-escapes-4.rs
index 9ac03cedc3f..79882713e59 100644
--- a/src/test/ui/parser/new-unicode-escapes-4.rs
+++ b/src/test/ui/parser/new-unicode-escapes-4.rs
@@ -1,4 +1,4 @@
 pub fn main() {
     let s = "\u{lol}";
-     //~^ ERROR invalid character in unicode escape: l
+     //~^ ERROR invalid character in unicode escape: `l`
 }
diff --git a/src/test/ui/parser/new-unicode-escapes-4.stderr b/src/test/ui/parser/new-unicode-escapes-4.stderr
index a35c5f0f216..514591af17e 100644
--- a/src/test/ui/parser/new-unicode-escapes-4.stderr
+++ b/src/test/ui/parser/new-unicode-escapes-4.stderr
@@ -1,8 +1,8 @@
-error: invalid character in unicode escape: l
+error: invalid character in unicode escape: `l`
   --> $DIR/new-unicode-escapes-4.rs:2:17
    |
 LL |     let s = "\u{lol}";
-   |                 ^
+   |                 ^ invalid character in unicode escape
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/parser/raw/raw-byte-string-literals.stderr b/src/test/ui/parser/raw/raw-byte-string-literals.stderr
index 4076fe334e6..cfc877104bd 100644
--- a/src/test/ui/parser/raw/raw-byte-string-literals.stderr
+++ b/src/test/ui/parser/raw/raw-byte-string-literals.stderr
@@ -8,7 +8,7 @@ error: raw byte string must be ASCII
   --> $DIR/raw-byte-string-literals.rs:5:8
    |
 LL |     br"é";
-   |        ^
+   |        ^ must be ASCII
 
 error: found invalid character; only `#` is allowed in raw string delimitation: ~
   --> $DIR/raw-byte-string-literals.rs:6:5
diff --git a/src/test/ui/parser/trailing-carriage-return-in-string.rs b/src/test/ui/parser/trailing-carriage-return-in-string.rs
index 8abf2624e4f..5d3c3194406 100644
--- a/src/test/ui/parser/trailing-carriage-return-in-string.rs
+++ b/src/test/ui/parser/trailing-carriage-return-in-string.rs
@@ -8,7 +8,7 @@ fn main() {
  a test";
     // \r only
     let bad = "This is \
 a test";
-    //~^ ERROR unknown character escape: \r
-    //~^^ HELP this is an isolated carriage return
+    //~^ ERROR unknown character escape: `\r`
+    //~| HELP this is an isolated carriage return
 
 }
diff --git a/src/test/ui/parser/trailing-carriage-return-in-string.stderr b/src/test/ui/parser/trailing-carriage-return-in-string.stderr
index 3687b9dd282..8a44e02707c 100644
--- a/src/test/ui/parser/trailing-carriage-return-in-string.stderr
+++ b/src/test/ui/parser/trailing-carriage-return-in-string.stderr
@@ -1,4 +1,4 @@
-error: unknown character escape: \r
+error: unknown character escape: `\r`
   --> $DIR/trailing-carriage-return-in-string.rs:10:25
    |
 LL |     let bad = "This is \
 a test";
diff --git a/src/test/ui/parser/unclosed-delimiter-in-dep.stderr b/src/test/ui/parser/unclosed-delimiter-in-dep.stderr
index d63a50034c5..00861a5a3d4 100644
--- a/src/test/ui/parser/unclosed-delimiter-in-dep.stderr
+++ b/src/test/ui/parser/unclosed-delimiter-in-dep.stderr
@@ -13,12 +13,12 @@ error[E0308]: mismatched types
   --> $DIR/unclosed-delimiter-in-dep.rs:4:20
    |
 LL |     let _: usize = unclosed_delim_mod::new();
-   |            -----   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found enum `std::result::Result`
+   |            -----   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found enum `Result`
    |            |
    |            expected due to this
    |
    = note: expected type `usize`
-              found enum `std::result::Result<Value, ()>`
+              found enum `Result<Value, ()>`
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/parser/wrong-escape-of-curly-braces.rs b/src/test/ui/parser/wrong-escape-of-curly-braces.rs
index 7a5c27afca5..8e5258acd49 100644
--- a/src/test/ui/parser/wrong-escape-of-curly-braces.rs
+++ b/src/test/ui/parser/wrong-escape-of-curly-braces.rs
@@ -1,8 +1,8 @@
 fn main() {
     let ok = "{{everything fine}}";
     let bad = "\{it is wrong\}";
-    //~^  ERROR unknown character escape: {
-    //~^^  HELP if used in a formatting string, curly braces are escaped with `{{` and `}}`
-    //~^^^ ERROR unknown character escape: }
-    //~^^^^  HELP if used in a formatting string, curly braces are escaped with `{{` and `}}`
+    //~^  ERROR unknown character escape: `{`
+    //~|  HELP if used in a formatting string, curly braces are escaped with `{{` and `}}`
+    //~| ERROR unknown character escape: `}`
+    //~| HELP if used in a formatting string, curly braces are escaped with `{{` and `}}`
 }
diff --git a/src/test/ui/parser/wrong-escape-of-curly-braces.stderr b/src/test/ui/parser/wrong-escape-of-curly-braces.stderr
index 1406b795ba8..ff1a2fb0f3c 100644
--- a/src/test/ui/parser/wrong-escape-of-curly-braces.stderr
+++ b/src/test/ui/parser/wrong-escape-of-curly-braces.stderr
@@ -1,4 +1,4 @@
-error: unknown character escape: {
+error: unknown character escape: `{`
   --> $DIR/wrong-escape-of-curly-braces.rs:3:17
    |
 LL |     let bad = "\{it is wrong\}";
@@ -6,7 +6,7 @@ LL |     let bad = "\{it is wrong\}";
    |
    = help: if used in a formatting string, curly braces are escaped with `{{` and `}}`
 
-error: unknown character escape: }
+error: unknown character escape: `}`
   --> $DIR/wrong-escape-of-curly-braces.rs:3:30
    |
 LL |     let bad = "\{it is wrong\}";
diff --git a/src/test/ui/pattern/bindings-after-at/borrowck-move-and-move.stderr b/src/test/ui/pattern/bindings-after-at/borrowck-move-and-move.stderr
index bfb7b479731..ff8183e8763 100644
--- a/src/test/ui/pattern/bindings-after-at/borrowck-move-and-move.stderr
+++ b/src/test/ui/pattern/bindings-after-at/borrowck-move-and-move.stderr
@@ -33,7 +33,7 @@ error[E0382]: use of moved value
   --> $DIR/borrowck-move-and-move.rs:20:16
    |
 LL |     match Ok(U) {
-   |           ----- move occurs because value has type `std::result::Result<U, U>`, which does not implement the `Copy` trait
+   |           ----- move occurs because value has type `Result<U, U>`, which does not implement the `Copy` trait
 LL |         a @ Ok(b) | a @ Err(b) => {}
    |         -------^-
    |         |      |
@@ -44,7 +44,7 @@ error[E0382]: use of moved value
   --> $DIR/borrowck-move-and-move.rs:20:29
    |
 LL |     match Ok(U) {
-   |           ----- move occurs because value has type `std::result::Result<U, U>`, which does not implement the `Copy` trait
+   |           ----- move occurs because value has type `Result<U, U>`, which does not implement the `Copy` trait
 LL |         a @ Ok(b) | a @ Err(b) => {}
    |                     --------^-
    |                     |       |
diff --git a/src/test/ui/pattern/bindings-after-at/borrowck-pat-ref-mut-and-ref.stderr b/src/test/ui/pattern/bindings-after-at/borrowck-pat-ref-mut-and-ref.stderr
index 00136c25764..13032c3838a 100644
--- a/src/test/ui/pattern/bindings-after-at/borrowck-pat-ref-mut-and-ref.stderr
+++ b/src/test/ui/pattern/bindings-after-at/borrowck-pat-ref-mut-and-ref.stderr
@@ -390,7 +390,7 @@ error[E0507]: cannot move out of `a` in pattern guard
   --> $DIR/borrowck-pat-ref-mut-and-ref.rs:111:66
    |
 LL |         ref mut a @ Ok(ref b) | ref mut a @ Err(ref b) if { drop(a); false } => {}
-   |                                                                  ^ move occurs because `a` has type `&mut std::result::Result<U, U>`, which does not implement the `Copy` trait
+   |                                                                  ^ move occurs because `a` has type `&mut Result<U, U>`, which does not implement the `Copy` trait
    |
    = note: variables bound in patterns cannot be moved from until after the end of the pattern guard
 
@@ -398,7 +398,7 @@ error[E0507]: cannot move out of `a` in pattern guard
   --> $DIR/borrowck-pat-ref-mut-and-ref.rs:111:66
    |
 LL |         ref mut a @ Ok(ref b) | ref mut a @ Err(ref b) if { drop(a); false } => {}
-   |                                                                  ^ move occurs because `a` has type `&mut std::result::Result<U, U>`, which does not implement the `Copy` trait
+   |                                                                  ^ move occurs because `a` has type `&mut Result<U, U>`, which does not implement the `Copy` trait
    |
    = note: variables bound in patterns cannot be moved from until after the end of the pattern guard
 
diff --git a/src/test/ui/pattern/pat-struct-field-expr-has-type.stderr b/src/test/ui/pattern/pat-struct-field-expr-has-type.stderr
index d57a8a0dbc1..3a61d4293b0 100644
--- a/src/test/ui/pattern/pat-struct-field-expr-has-type.stderr
+++ b/src/test/ui/pattern/pat-struct-field-expr-has-type.stderr
@@ -4,10 +4,10 @@ error[E0308]: mismatched types
 LL |     match (S { f: 42 }) {
    |           ------------- this expression has type `S`
 LL |         S { f: Ok(_) } => {}
-   |                ^^^^^ expected `u8`, found enum `std::result::Result`
+   |                ^^^^^ expected `u8`, found enum `Result`
    |
    = note: expected type `u8`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/pattern/pat-tuple-underfield.stderr b/src/test/ui/pattern/pat-tuple-underfield.stderr
index 76323d9a7bf..70c21dbafe9 100644
--- a/src/test/ui/pattern/pat-tuple-underfield.stderr
+++ b/src/test/ui/pattern/pat-tuple-underfield.stderr
@@ -122,8 +122,8 @@ LL |         Point4(   a   ,     _    , _, _) => {}
    |                                  ^^^^^^
 help: use `..` to ignore the rest of the fields
    |
-LL |         Point4(   a   ,     _    , ..) => {}
-   |                                  ^^^^
+LL |         Point4(   a, ..) => {}
+   |                    ^^^^
 
 error: aborting due to 8 previous errors
 
diff --git a/src/test/ui/pattern/pat-type-err-let-stmt.stderr b/src/test/ui/pattern/pat-type-err-let-stmt.stderr
index 42258cfc1ae..4b4fb089283 100644
--- a/src/test/ui/pattern/pat-type-err-let-stmt.stderr
+++ b/src/test/ui/pattern/pat-type-err-let-stmt.stderr
@@ -17,10 +17,10 @@ error[E0308]: mismatched types
 LL |     let Ok(0): Option<u8> = 42u8;
    |         ^^^^^  ---------- expected due to this
    |         |
-   |         expected enum `Option`, found enum `std::result::Result`
+   |         expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<u8>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error[E0308]: mismatched types
   --> $DIR/pat-type-err-let-stmt.rs:11:9
@@ -28,10 +28,10 @@ error[E0308]: mismatched types
 LL |     let Ok(0): Option<u8>;
    |         ^^^^^  ---------- expected due to this
    |         |
-   |         expected enum `Option`, found enum `std::result::Result`
+   |         expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<u8>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error[E0308]: mismatched types
   --> $DIR/pat-type-err-let-stmt.rs:15:9
@@ -39,10 +39,10 @@ error[E0308]: mismatched types
 LL |     let Ok(0) = 42u8;
    |         ^^^^^   ---- this expression has type `u8`
    |         |
-   |         expected `u8`, found enum `std::result::Result`
+   |         expected `u8`, found enum `Result`
    |
    = note: expected type `u8`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error: aborting due to 4 previous errors
 
diff --git a/src/test/ui/pattern/usefulness/non-exhaustive-match-nested.stderr b/src/test/ui/pattern/usefulness/non-exhaustive-match-nested.stderr
index d1cab752102..928e9068266 100644
--- a/src/test/ui/pattern/usefulness/non-exhaustive-match-nested.stderr
+++ b/src/test/ui/pattern/usefulness/non-exhaustive-match-nested.stderr
@@ -5,7 +5,7 @@ LL |     match (l1, l2) {
    |           ^^^^^^^^ pattern `(Some(&[]), Err(_))` not covered
    |
    = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
-   = note: the matched value is of type `(Option<&[T]>, std::result::Result<&[T], ()>)`
+   = note: the matched value is of type `(Option<&[T]>, Result<&[T], ()>)`
 
 error[E0004]: non-exhaustive patterns: `A(C)` not covered
   --> $DIR/non-exhaustive-match-nested.rs:15:11
diff --git a/src/test/ui/proc-macro/ambiguous-builtin-attrs.rs b/src/test/ui/proc-macro/ambiguous-builtin-attrs.rs
index 142efb3c6cd..a6e9ed14ff1 100644
--- a/src/test/ui/proc-macro/ambiguous-builtin-attrs.rs
+++ b/src/test/ui/proc-macro/ambiguous-builtin-attrs.rs
@@ -1,5 +1,5 @@
+// edition:2018
 // aux-build:builtin-attrs.rs
-
 #![feature(decl_macro)] //~ ERROR `feature` is ambiguous
 
 extern crate builtin_attrs;
@@ -21,7 +21,9 @@ fn non_macro_expanded_location<#[repr(C)] T>() {
     //~^ ERROR `repr` is ambiguous
     //~| ERROR attribute should be applied to a struct, enum, or union
     match 0u8 {
-        #[repr(C)] //~ ERROR `repr` is ambiguous
+        #[repr(C)]
+        //~^ ERROR `repr` is ambiguous
+        //~| ERROR attribute should be applied to a struct, enum, or union
         _ => {}
     }
 }
@@ -31,3 +33,7 @@ fn main() {
     Bench;
     NonExistent; //~ ERROR cannot find value `NonExistent` in this scope
 }
+
+use deny as allow;
+#[allow(unused)] //~ ERROR `allow` is ambiguous (built-in attribute vs any other name)
+fn builtin_renamed() {}
diff --git a/src/test/ui/proc-macro/ambiguous-builtin-attrs.stderr b/src/test/ui/proc-macro/ambiguous-builtin-attrs.stderr
index 276ee1cfd35..31959248a68 100644
--- a/src/test/ui/proc-macro/ambiguous-builtin-attrs.stderr
+++ b/src/test/ui/proc-macro/ambiguous-builtin-attrs.stderr
@@ -1,5 +1,5 @@
 error[E0425]: cannot find value `NonExistent` in this scope
-  --> $DIR/ambiguous-builtin-attrs.rs:32:5
+  --> $DIR/ambiguous-builtin-attrs.rs:34:5
    |
 LL |     NonExistent;
    |     ^^^^^^^^^^^ not found in this scope
@@ -60,6 +60,20 @@ LL | use builtin_attrs::*;
    |     ^^^^^^^^^^^^^^^^
    = help: use `crate::repr` to refer to this attribute macro unambiguously
 
+error[E0659]: `allow` is ambiguous (built-in attribute vs any other name)
+  --> $DIR/ambiguous-builtin-attrs.rs:38:3
+   |
+LL | #[allow(unused)]
+   |   ^^^^^ ambiguous name
+   |
+   = note: `allow` could refer to a built-in attribute
+note: `allow` could also refer to the built-in attribute imported here
+  --> $DIR/ambiguous-builtin-attrs.rs:37:5
+   |
+LL | use deny as allow;
+   |     ^^^^^^^^^^^^^
+   = help: use `crate::allow` to refer to this built-in attribute unambiguously
+
 error[E0659]: `feature` is ambiguous (built-in attribute vs any other name)
   --> $DIR/ambiguous-builtin-attrs.rs:3:4
    |
@@ -80,7 +94,16 @@ error[E0517]: attribute should be applied to a struct, enum, or union
 LL | fn non_macro_expanded_location<#[repr(C)] T>() {
    |                                       ^   - not a struct, enum, or union
 
-error: aborting due to 7 previous errors
+error[E0517]: attribute should be applied to a struct, enum, or union
+  --> $DIR/ambiguous-builtin-attrs.rs:24:16
+   |
+LL |         #[repr(C)]
+   |                ^
+...
+LL |         _ => {}
+   |         ------- not a struct, enum, or union
+
+error: aborting due to 9 previous errors
 
 Some errors have detailed explanations: E0425, E0517, E0659.
 For more information about an error, try `rustc --explain E0425`.
diff --git a/src/test/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs b/src/test/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs
new file mode 100644
index 00000000000..a6903283aa1
--- /dev/null
+++ b/src/test/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs
@@ -0,0 +1,23 @@
+// force-host
+// no-prefer-dynamic
+
+#![crate_type = "proc-macro"]
+#![feature(proc_macro_quote)]
+
+extern crate proc_macro;
+use proc_macro::{TokenStream, quote};
+
+#[proc_macro_attribute]
+pub fn first_attr(_: TokenStream, input: TokenStream) -> TokenStream {
+    let recollected: TokenStream = input.into_iter().collect();
+    quote! {
+        #[second_attr]
+        $recollected
+    }
+}
+
+#[proc_macro_attribute]
+pub fn second_attr(_: TokenStream, input: TokenStream) -> TokenStream {
+    let _recollected: TokenStream = input.into_iter().collect();
+    TokenStream::new()
+}
diff --git a/src/test/ui/proc-macro/issue-81007-item-attrs.rs b/src/test/ui/proc-macro/issue-81007-item-attrs.rs
new file mode 100644
index 00000000000..ea27d54ee41
--- /dev/null
+++ b/src/test/ui/proc-macro/issue-81007-item-attrs.rs
@@ -0,0 +1,31 @@
+// check-pass
+// edition:2018
+// compile-flags: -Z span-debug
+// aux-build:test-macros.rs
+
+#![feature(rustc_attrs)]
+
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
+
+#[macro_use] extern crate test_macros;
+
+macro_rules! capture_item {
+    ($item:item) => {
+        #[print_attr]
+        $item
+    }
+}
+
+capture_item! {
+    /// A doc comment
+    struct Foo {}
+}
+
+capture_item! {
+    #[rustc_dummy]
+    /// Another comment comment
+    struct Bar {}
+}
+
+fn main() {}
diff --git a/src/test/ui/proc-macro/issue-81007-item-attrs.stdout b/src/test/ui/proc-macro/issue-81007-item-attrs.stdout
new file mode 100644
index 00000000000..6f880a12021
--- /dev/null
+++ b/src/test/ui/proc-macro/issue-81007-item-attrs.stdout
@@ -0,0 +1,99 @@
+PRINT-ATTR INPUT (DISPLAY): #[doc = r" A doc comment"] struct Foo { }
+PRINT-ATTR INPUT (DEBUG): TokenStream [
+    Punct {
+        ch: '#',
+        spacing: Alone,
+        span: $DIR/issue-81007-item-attrs.rs:21:5: 21:22 (#0),
+    },
+    Group {
+        delimiter: Bracket,
+        stream: TokenStream [
+            Ident {
+                ident: "doc",
+                span: $DIR/issue-81007-item-attrs.rs:21:5: 21:22 (#0),
+            },
+            Punct {
+                ch: '=',
+                spacing: Alone,
+                span: $DIR/issue-81007-item-attrs.rs:21:5: 21:22 (#0),
+            },
+            Literal {
+                kind: StrRaw(0),
+                symbol: " A doc comment",
+                suffix: None,
+                span: $DIR/issue-81007-item-attrs.rs:21:5: 21:22 (#0),
+            },
+        ],
+        span: $DIR/issue-81007-item-attrs.rs:21:5: 21:22 (#0),
+    },
+    Ident {
+        ident: "struct",
+        span: $DIR/issue-81007-item-attrs.rs:22:5: 22:11 (#0),
+    },
+    Ident {
+        ident: "Foo",
+        span: $DIR/issue-81007-item-attrs.rs:22:12: 22:15 (#0),
+    },
+    Group {
+        delimiter: Brace,
+        stream: TokenStream [],
+        span: $DIR/issue-81007-item-attrs.rs:22:16: 22:18 (#0),
+    },
+]
+PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] #[doc = r" Another comment comment"] struct Bar { }
+PRINT-ATTR INPUT (DEBUG): TokenStream [
+    Punct {
+        ch: '#',
+        spacing: Alone,
+        span: $DIR/issue-81007-item-attrs.rs:26:5: 26:6 (#0),
+    },
+    Group {
+        delimiter: Bracket,
+        stream: TokenStream [
+            Ident {
+                ident: "rustc_dummy",
+                span: $DIR/issue-81007-item-attrs.rs:26:7: 26:18 (#0),
+            },
+        ],
+        span: $DIR/issue-81007-item-attrs.rs:26:6: 26:19 (#0),
+    },
+    Punct {
+        ch: '#',
+        spacing: Alone,
+        span: $DIR/issue-81007-item-attrs.rs:27:5: 27:32 (#0),
+    },
+    Group {
+        delimiter: Bracket,
+        stream: TokenStream [
+            Ident {
+                ident: "doc",
+                span: $DIR/issue-81007-item-attrs.rs:27:5: 27:32 (#0),
+            },
+            Punct {
+                ch: '=',
+                spacing: Alone,
+                span: $DIR/issue-81007-item-attrs.rs:27:5: 27:32 (#0),
+            },
+            Literal {
+                kind: StrRaw(0),
+                symbol: " Another comment comment",
+                suffix: None,
+                span: $DIR/issue-81007-item-attrs.rs:27:5: 27:32 (#0),
+            },
+        ],
+        span: $DIR/issue-81007-item-attrs.rs:27:5: 27:32 (#0),
+    },
+    Ident {
+        ident: "struct",
+        span: $DIR/issue-81007-item-attrs.rs:28:5: 28:11 (#0),
+    },
+    Ident {
+        ident: "Bar",
+        span: $DIR/issue-81007-item-attrs.rs:28:12: 28:15 (#0),
+    },
+    Group {
+        delimiter: Brace,
+        stream: TokenStream [],
+        span: $DIR/issue-81007-item-attrs.rs:28:16: 28:18 (#0),
+    },
+]
diff --git a/src/test/ui/proc-macro/issue-81543-item-parse-err.rs b/src/test/ui/proc-macro/issue-81543-item-parse-err.rs
new file mode 100644
index 00000000000..027389556fe
--- /dev/null
+++ b/src/test/ui/proc-macro/issue-81543-item-parse-err.rs
@@ -0,0 +1,14 @@
+// aux-build:test-macros.rs
+
+// Regression test for issue #81543
+// Tests that we emit a properly spanned error
+// when the output of a proc-macro cannot be parsed
+// as the expected AST node kind
+
+extern crate test_macros;
+
+test_macros::identity! {
+    fn 32() {} //~ ERROR expected identifier
+}
+
+fn main() {}
diff --git a/src/test/ui/proc-macro/issue-81543-item-parse-err.stderr b/src/test/ui/proc-macro/issue-81543-item-parse-err.stderr
new file mode 100644
index 00000000000..ca524176035
--- /dev/null
+++ b/src/test/ui/proc-macro/issue-81543-item-parse-err.stderr
@@ -0,0 +1,8 @@
+error: expected identifier, found `32`
+  --> $DIR/issue-81543-item-parse-err.rs:11:8
+   |
+LL |     fn 32() {}
+   |        ^^ expected identifier
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/proc-macro/lifetimes.stderr b/src/test/ui/proc-macro/lifetimes.stderr
index 10acd4304aa..58f6165388c 100644
--- a/src/test/ui/proc-macro/lifetimes.stderr
+++ b/src/test/ui/proc-macro/lifetimes.stderr
@@ -2,7 +2,12 @@ error: expected type, found `'`
   --> $DIR/lifetimes.rs:7:10
    |
 LL | type A = single_quote_alone!();
-   |          ^^^^^^^^^^^^^^^^^^^^^ this macro call doesn't expand to a type
+   |          ^^^^^^^^^^^^^^^^^^^^^
+   |          |
+   |          expected type
+   |          this macro call doesn't expand to a type
+   |
+   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/proc-macro/nonterminal-recollect-attr.rs b/src/test/ui/proc-macro/nonterminal-recollect-attr.rs
new file mode 100644
index 00000000000..5d4649b78c2
--- /dev/null
+++ b/src/test/ui/proc-macro/nonterminal-recollect-attr.rs
@@ -0,0 +1,17 @@
+// check-pass
+// aux-build:nonterminal-recollect-attr.rs
+
+extern crate nonterminal_recollect_attr;
+use nonterminal_recollect_attr::*;
+
+macro_rules! my_macro {
+    ($v:ident) => {
+        #[first_attr]
+        $v struct Foo {
+            field: u8
+        }
+    }
+}
+
+my_macro!(pub);
+fn main() {}
diff --git a/src/test/ui/recursion/recursive-types-are-not-uninhabited.stderr b/src/test/ui/recursion/recursive-types-are-not-uninhabited.stderr
index c6f500ec8cc..dfb69a3cc1b 100644
--- a/src/test/ui/recursion/recursive-types-are-not-uninhabited.stderr
+++ b/src/test/ui/recursion/recursive-types-are-not-uninhabited.stderr
@@ -11,7 +11,7 @@ LL |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |
    = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
-   = note: the matched value is of type `std::result::Result<u32, &R>`
+   = note: the matched value is of type `Result<u32, &R>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
 LL |     if let Ok(x) = res { /* */ }
diff --git a/src/test/ui/regions/issue-78262.nll.stderr b/src/test/ui/regions/issue-78262.nll.stderr
index 4607dbad422..fafff35e415 100644
--- a/src/test/ui/regions/issue-78262.nll.stderr
+++ b/src/test/ui/regions/issue-78262.nll.stderr
@@ -8,3 +8,4 @@ LL |     let f = |x: &dyn TT| x.func();
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/regions/region-invariant-static-error-reporting.nll.stderr b/src/test/ui/regions/region-invariant-static-error-reporting.nll.stderr
index d941030d824..89a22adc8f0 100644
--- a/src/test/ui/regions/region-invariant-static-error-reporting.nll.stderr
+++ b/src/test/ui/regions/region-invariant-static-error-reporting.nll.stderr
@@ -11,3 +11,4 @@ LL |         x.unwrap()
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/regions/regions-bounded-method-type-parameters-trait-bound.nll.stderr b/src/test/ui/regions/regions-bounded-method-type-parameters-trait-bound.nll.stderr
index 92a3942c916..ed7b17c207c 100644
--- a/src/test/ui/regions/regions-bounded-method-type-parameters-trait-bound.nll.stderr
+++ b/src/test/ui/regions/regions-bounded-method-type-parameters-trait-bound.nll.stderr
@@ -13,3 +13,4 @@ LL |     f.method(b);
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/regions/regions-nested-fns.nll.stderr b/src/test/ui/regions/regions-nested-fns.nll.stderr
index 9d966486f98..60754f4c228 100644
--- a/src/test/ui/regions/regions-nested-fns.nll.stderr
+++ b/src/test/ui/regions/regions-nested-fns.nll.stderr
@@ -50,4 +50,5 @@ LL |         if false { return x; }
 
 error: aborting due to 4 previous errors
 
-For more information about this error, try `rustc --explain E0597`.
+Some errors have detailed explanations: E0521, E0597.
+For more information about an error, try `rustc --explain E0521`.
diff --git a/src/test/ui/resolve/crate-called-as-function.rs b/src/test/ui/resolve/crate-called-as-function.rs
new file mode 100644
index 00000000000..e8f52c0c029
--- /dev/null
+++ b/src/test/ui/resolve/crate-called-as-function.rs
@@ -0,0 +1,3 @@
+fn main() {
+    ::foo() //~ cannot find external crate `foo` in the crate root
+}
diff --git a/src/test/ui/resolve/crate-called-as-function.stderr b/src/test/ui/resolve/crate-called-as-function.stderr
new file mode 100644
index 00000000000..eb42349aff1
--- /dev/null
+++ b/src/test/ui/resolve/crate-called-as-function.stderr
@@ -0,0 +1,9 @@
+error[E0425]: cannot find external crate `foo` in the crate root
+  --> $DIR/crate-called-as-function.rs:2:7
+   |
+LL |     ::foo()
+   |       ^^^ not found in the crate root
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0425`.
diff --git a/src/test/ui/issues/issue-50599.rs b/src/test/ui/resolve/issue-50599.rs
index 00588735b9a..00588735b9a 100644
--- a/src/test/ui/issues/issue-50599.rs
+++ b/src/test/ui/resolve/issue-50599.rs
diff --git a/src/test/ui/issues/issue-50599.stderr b/src/test/ui/resolve/issue-50599.stderr
index 7ec567a06f0..7ec567a06f0 100644
--- a/src/test/ui/issues/issue-50599.stderr
+++ b/src/test/ui/resolve/issue-50599.stderr
diff --git a/src/test/ui/resolve/missing-in-namespace.rs b/src/test/ui/resolve/missing-in-namespace.rs
new file mode 100644
index 00000000000..e1dedb072b7
--- /dev/null
+++ b/src/test/ui/resolve/missing-in-namespace.rs
@@ -0,0 +1,4 @@
+fn main() {
+    let _map = std::hahmap::HashMap::new();
+    //~^ ERROR failed to resolve: could not find `hahmap` in `std
+}
diff --git a/src/test/ui/resolve/missing-in-namespace.stderr b/src/test/ui/resolve/missing-in-namespace.stderr
new file mode 100644
index 00000000000..8b292aeda50
--- /dev/null
+++ b/src/test/ui/resolve/missing-in-namespace.stderr
@@ -0,0 +1,14 @@
+error[E0433]: failed to resolve: could not find `hahmap` in `std`
+  --> $DIR/missing-in-namespace.rs:2:29
+   |
+LL |     let _map = std::hahmap::HashMap::new();
+   |                             ^^^^^^^ not found in `std::hahmap`
+   |
+help: consider importing this struct
+   |
+LL | use std::collections::HashMap;
+   |
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0433`.
diff --git a/src/test/ui/rfc-1937-termination-trait/termination-trait-test-wrong-type.stderr b/src/test/ui/rfc-1937-termination-trait/termination-trait-test-wrong-type.stderr
index d015b72c5cf..45806201861 100644
--- a/src/test/ui/rfc-1937-termination-trait/termination-trait-test-wrong-type.stderr
+++ b/src/test/ui/rfc-1937-termination-trait/termination-trait-test-wrong-type.stderr
@@ -1,4 +1,4 @@
-error[E0277]: `main` has invalid return type `std::result::Result<f32, ParseFloatError>`
+error[E0277]: `main` has invalid return type `Result<f32, ParseFloatError>`
   --> $DIR/termination-trait-test-wrong-type.rs:6:1
    |
 LL | / fn can_parse_zero_as_f32() -> Result<f32, ParseFloatError> {
@@ -11,7 +11,7 @@ LL | | }
 LL |   pub fn assert_test_result<T: Termination>(result: T) {
    |                                ----------- required by this bound in `assert_test_result`
    |
-   = help: the trait `Termination` is not implemented for `std::result::Result<f32, ParseFloatError>`
+   = help: the trait `Termination` is not implemented for `Result<f32, ParseFloatError>`
    = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: aborting due to previous error
diff --git a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs
index 4f53108b3a9..61212f299be 100644
--- a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs
+++ b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.rs
@@ -2,5 +2,5 @@
 
 fn main() {
     let s = ::xcrate::S;
-    //~^ ERROR failed to resolve: could not find `xcrate` in `{{root}}`
+    //~^ ERROR failed to resolve: could not find `xcrate` in crate root
 }
diff --git a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr
index 7395d01d8ac..8b2a6933f37 100644
--- a/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr
+++ b/src/test/ui/rfc-2126-extern-absolute-paths/non-existent-2.stderr
@@ -1,8 +1,8 @@
-error[E0433]: failed to resolve: could not find `xcrate` in `{{root}}`
+error[E0433]: failed to resolve: could not find `xcrate` in crate root
   --> $DIR/non-existent-2.rs:4:15
    |
 LL |     let s = ::xcrate::S;
-   |               ^^^^^^ could not find `xcrate` in `{{root}}`
+   |               ^^^^^^ could not find `xcrate` in crate root
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/rfc-2294-if-let-guard/typeck.stderr b/src/test/ui/rfc-2294-if-let-guard/typeck.stderr
index 7ce93fe7348..6407128d8d8 100644
--- a/src/test/ui/rfc-2294-if-let-guard/typeck.stderr
+++ b/src/test/ui/rfc-2294-if-let-guard/typeck.stderr
@@ -2,10 +2,10 @@ error[E0308]: mismatched types
   --> $DIR/typeck.rs:10:22
    |
 LL |         Ok(x) if let Err(_) = x => {},
-   |                      ^^^^^^ expected enum `Option`, found enum `std::result::Result`
+   |                      ^^^^^^ expected enum `Option`, found enum `Result`
    |
    = note: expected enum `Option<bool>`
-              found enum `std::result::Result<_, _>`
+              found enum `Result<_, _>`
 
 error[E0308]: mismatched types
   --> $DIR/typeck.rs:12:22
diff --git a/src/test/ui/issues/issue-32947.rs b/src/test/ui/simd/issue-32947.rs
index b07def21e88..b07def21e88 100644
--- a/src/test/ui/issues/issue-32947.rs
+++ b/src/test/ui/simd/issue-32947.rs
diff --git a/src/test/ui/span/impl-wrong-item-for-trait.stderr b/src/test/ui/span/impl-wrong-item-for-trait.stderr
index 9b0aad28b0a..de200ca0721 100644
--- a/src/test/ui/span/impl-wrong-item-for-trait.stderr
+++ b/src/test/ui/span/impl-wrong-item-for-trait.stderr
@@ -64,7 +64,7 @@ error[E0046]: not all trait items implemented, missing: `fmt`
 LL | impl Debug for FooTypeForMethod {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `fmt` in implementation
    |
-   = help: implement the missing item: `fn fmt(&self, _: &mut Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { todo!() }`
+   = help: implement the missing item: `fn fmt(&self, _: &mut Formatter<'_>) -> Result<(), std::fmt::Error> { todo!() }`
 
 error: aborting due to 8 previous errors
 
diff --git a/src/test/ui/span/import-ty-params.rs b/src/test/ui/span/import-ty-params.rs
index 850bbd857ff..313cd227b7c 100644
--- a/src/test/ui/span/import-ty-params.rs
+++ b/src/test/ui/span/import-ty-params.rs
@@ -16,5 +16,8 @@ fn f1() {
 fn f2() {
     import! { a::b::c::S<> } //~ ERROR unexpected generic arguments in path
 }
+fn f3() {
+    import! { a::b<>::c<u8>::S<> } //~ ERROR unexpected generic arguments in path
+}
 
 fn main() {}
diff --git a/src/test/ui/span/import-ty-params.stderr b/src/test/ui/span/import-ty-params.stderr
index a02a1edc134..701cd0c04bd 100644
--- a/src/test/ui/span/import-ty-params.stderr
+++ b/src/test/ui/span/import-ty-params.stderr
@@ -1,14 +1,20 @@
 error: unexpected generic arguments in path
-  --> $DIR/import-ty-params.rs:14:15
+  --> $DIR/import-ty-params.rs:14:25
    |
 LL |     import! { a::b::c::S<u8> }
-   |               ^^^^^^^^^^^^^^
+   |                         ^^^^
 
 error: unexpected generic arguments in path
-  --> $DIR/import-ty-params.rs:17:15
+  --> $DIR/import-ty-params.rs:17:25
    |
 LL |     import! { a::b::c::S<> }
-   |               ^^^^^^^^^^^^
+   |                         ^^
 
-error: aborting due to 2 previous errors
+error: unexpected generic arguments in path
+  --> $DIR/import-ty-params.rs:20:19
+   |
+LL |     import! { a::b<>::c<u8>::S<> }
+   |                   ^^   ^^^^   ^^
+
+error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/span/visibility-ty-params.stderr b/src/test/ui/span/visibility-ty-params.stderr
index d3fa1d7732e..067893fd22d 100644
--- a/src/test/ui/span/visibility-ty-params.stderr
+++ b/src/test/ui/span/visibility-ty-params.stderr
@@ -1,8 +1,8 @@
 error: unexpected generic arguments in path
-  --> $DIR/visibility-ty-params.rs:6:5
+  --> $DIR/visibility-ty-params.rs:6:6
    |
 LL | m!{ S<u8> }
-   |     ^^^^^
+   |      ^^^^
 
 error[E0577]: expected module, found struct `S`
   --> $DIR/visibility-ty-params.rs:6:5
@@ -11,10 +11,10 @@ LL | m!{ S<u8> }
    |     ^^^^^ not a module
 
 error: unexpected generic arguments in path
-  --> $DIR/visibility-ty-params.rs:10:9
+  --> $DIR/visibility-ty-params.rs:10:10
    |
 LL |     m!{ m<> }
-   |         ^^^
+   |          ^^
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.rs b/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.rs
index 35e3b8725a8..6834d573629 100644
--- a/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.rs
+++ b/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.rs
@@ -20,5 +20,5 @@ default impl<T> Foo for T {
 
 fn main() {
     println!("{}", MyStruct.foo_one());
-    //~^ ERROR no method named `foo_one` found
+    //~^ ERROR the method
 }
diff --git a/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr b/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
index fb623c97f42..16ffc661fe0 100644
--- a/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
+++ b/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
@@ -8,7 +8,7 @@ LL | #![feature(specialization)]
    = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
    = help: consider using `min_specialization` instead, which is more stable and complete
 
-error[E0599]: no method named `foo_one` found for struct `MyStruct` in the current scope
+error[E0599]: the method `foo_one` exists for struct `MyStruct`, but its trait bounds were not satisfied
   --> $DIR/specialization-trait-not-implemented.rs:22:29
    |
 LL | struct MyStruct;
@@ -18,9 +18,9 @@ LL | struct MyStruct;
    | doesn't satisfy `MyStruct: Foo`
 ...
 LL |     println!("{}", MyStruct.foo_one());
-   |                             ^^^^^^^ method not found in `MyStruct`
+   |                             ^^^^^^^ method cannot be called on `MyStruct` due to unsatisfied trait bounds
    |
-   = note: the method `foo_one` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `MyStruct: Foo`
    = help: items from traits can only be used if the trait is implemented and in scope
 note: `Foo` defines an item `foo_one`, perhaps you need to implement it
diff --git a/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr b/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr
index fee8b06e94c..92208231b17 100644
--- a/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr
+++ b/src/test/ui/specialization/min_specialization/repeated_projection_type.stderr
@@ -1,4 +1,4 @@
-error: cannot specialize on `ProjectionPredicate(ProjectionTy { substs: [V], item_def_id: DefId(0:6 ~ repeated_projection_type[317d]::Id::This) }, (I,))`
+error: cannot specialize on `Binder(ProjectionPredicate(ProjectionTy { substs: [V], item_def_id: DefId(0:6 ~ repeated_projection_type[317d]::Id::This) }, (I,)))`
   --> $DIR/repeated_projection_type.rs:19:1
    |
 LL | / impl<I, V: Id<This = (I,)>> X for V {
diff --git a/src/test/ui/stability-attribute/stability-attribute-sanity.stderr b/src/test/ui/stability-attribute/stability-attribute-sanity.stderr
index ee9a93359f0..151b96b8b5a 100644
--- a/src/test/ui/stability-attribute/stability-attribute-sanity.stderr
+++ b/src/test/ui/stability-attribute/stability-attribute-sanity.stderr
@@ -116,5 +116,5 @@ LL | #[rustc_deprecated(since = "a", reason = "text")]
 
 error: aborting due to 19 previous errors
 
-Some errors have detailed explanations: E0539, E0541, E0546, E0550.
+Some errors have detailed explanations: E0539, E0541, E0542, E0546, E0550.
 For more information about an error, try `rustc --explain E0539`.
diff --git a/src/test/ui/stability-attribute/stability-attribute-trait-impl.rs b/src/test/ui/stability-attribute/stability-attribute-trait-impl.rs
index cc57071b87c..656564fc9e3 100644
--- a/src/test/ui/stability-attribute/stability-attribute-trait-impl.rs
+++ b/src/test/ui/stability-attribute/stability-attribute-trait-impl.rs
@@ -22,7 +22,7 @@ impl StableTrait for UnstableType {}
 impl UnstableTrait for StableType {}
 
 #[unstable(feature = "x", issue = "none")]
-//~^ ERROR an `#[unstable]` annotation here has no effect [rustc::ineffective_unstable_trait_impl]
+//~^ ERROR an `#[unstable]` annotation here has no effect [ineffective_unstable_trait_impl]
 impl StableTrait for StableType {}
 
 fn main() {}
diff --git a/src/test/ui/stability-attribute/stability-attribute-trait-impl.stderr b/src/test/ui/stability-attribute/stability-attribute-trait-impl.stderr
index 1915d03fb0a..a11479cc8f4 100644
--- a/src/test/ui/stability-attribute/stability-attribute-trait-impl.stderr
+++ b/src/test/ui/stability-attribute/stability-attribute-trait-impl.stderr
@@ -4,7 +4,7 @@ error: an `#[unstable]` annotation here has no effect
 LL | #[unstable(feature = "x", issue = "none")]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
-   = note: `#[deny(rustc::ineffective_unstable_trait_impl)]` on by default
+   = note: `#[deny(ineffective_unstable_trait_impl)]` on by default
    = note: see issue #55436 <https://github.com/rust-lang/rust/issues/55436> for more information
 
 error: aborting due to previous error
diff --git a/src/test/ui/structs/struct-pat-derived-error.stderr b/src/test/ui/structs/struct-pat-derived-error.stderr
index 921d060faa3..c1a95636d34 100644
--- a/src/test/ui/structs/struct-pat-derived-error.stderr
+++ b/src/test/ui/structs/struct-pat-derived-error.stderr
@@ -19,11 +19,11 @@ LL |         let A { x, y } = self.d;
 help: include the missing fields in the pattern
    |
 LL |         let A { x, y, b, c } = self.d;
-   |                     ^^^^^^
+   |                     ^^^^^^^^
 help: if you don't care about these missing fields, you can explicitly ignore them
    |
 LL |         let A { x, y, .. } = self.d;
-   |                     ^^^^
+   |                     ^^^^^^
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr b/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr
index 9450612332c..9437fbe61cc 100644
--- a/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr
+++ b/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
   --> $DIR/adt-param-with-implicit-sized-bound.rs:18:10
    |
 LL | struct X<T>(T);
-   |          ^  - ...if indirection was used here: `Box<T>`
+   |          ^  - ...if indirection were used here: `Box<T>`
    |          |
    |          this could be changed to `T: ?Sized`...
 
@@ -68,7 +68,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
 LL | struct Struct3<T>{
    |                ^ this could be changed to `T: ?Sized`...
 LL |     _t: T,
-   |         - ...if indirection was used here: `Box<T>`
+   |         - ...if indirection were used here: `Box<T>`
 help: consider further restricting `Self`
    |
 LL |     fn func3() -> Struct3<Self> where Self: Sized;
diff --git a/src/test/ui/suggestions/as-ref.stderr b/src/test/ui/suggestions/as-ref.stderr
index 4b5a9be7e5b..7e4d7fb3933 100644
--- a/src/test/ui/suggestions/as-ref.stderr
+++ b/src/test/ui/suggestions/as-ref.stderr
@@ -47,12 +47,12 @@ error[E0308]: mismatched types
   --> $DIR/as-ref.rs:19:35
    |
 LL |   let y: Result<&usize, &usize> = x;
-   |          ----------------------   ^ expected enum `std::result::Result`, found reference
+   |          ----------------------   ^ expected enum `Result`, found reference
    |          |
    |          expected due to this
    |
-   = note:   expected enum `std::result::Result<&usize, &usize>`
-           found reference `&std::result::Result<usize, usize>`
+   = note:   expected enum `Result<&usize, &usize>`
+           found reference `&Result<usize, usize>`
 help: you can convert from `&Result<T, E>` to `Result<&T, &E>` using `.as_ref()`
    |
 LL |   let y: Result<&usize, &usize> = x.as_ref();
@@ -62,12 +62,12 @@ error[E0308]: mismatched types
   --> $DIR/as-ref.rs:23:34
    |
 LL |   let y: Result<&usize, usize> = x;
-   |          ---------------------   ^ expected enum `std::result::Result`, found reference
+   |          ---------------------   ^ expected enum `Result`, found reference
    |          |
    |          expected due to this
    |
-   = note:   expected enum `std::result::Result<&usize, usize>`
-           found reference `&std::result::Result<usize, usize>`
+   = note:   expected enum `Result<&usize, usize>`
+           found reference `&Result<usize, usize>`
 
 error: aborting due to 7 previous errors
 
diff --git a/src/test/ui/suggestions/field-access.fixed b/src/test/ui/suggestions/field-access.fixed
new file mode 100644
index 00000000000..ed9aef6e374
--- /dev/null
+++ b/src/test/ui/suggestions/field-access.fixed
@@ -0,0 +1,35 @@
+// run-rustfix
+#![allow(dead_code)]
+
+struct A {
+    b: B,
+}
+
+enum B {
+    Fst,
+    Snd,
+}
+
+union Foo {
+    bar: u32,
+    qux: f32,
+}
+
+fn main() {
+    let a = A { b: B::Fst };
+    if let B::Fst = a.b {}; //~ ERROR mismatched types [E0308]
+    //~^ HELP you might have meant to use field `b` whose type is `B`
+    match a.b {
+        //~^ HELP you might have meant to use field `b` whose type is `B`
+        //~| HELP you might have meant to use field `b` whose type is `B`
+        B::Fst => (), //~ ERROR mismatched types [E0308]
+        B::Snd => (), //~ ERROR mismatched types [E0308]
+    }
+
+    let foo = Foo { bar: 42 };
+    match unsafe { foo.bar } {
+        //~^ HELP you might have meant to use field `bar` whose type is `u32`
+        1u32 => (), //~ ERROR mismatched types [E0308]
+        _ => (),
+    }
+}
diff --git a/src/test/ui/suggestions/field-access.rs b/src/test/ui/suggestions/field-access.rs
new file mode 100644
index 00000000000..d80488e8a45
--- /dev/null
+++ b/src/test/ui/suggestions/field-access.rs
@@ -0,0 +1,35 @@
+// run-rustfix
+#![allow(dead_code)]
+
+struct A {
+    b: B,
+}
+
+enum B {
+    Fst,
+    Snd,
+}
+
+union Foo {
+    bar: u32,
+    qux: f32,
+}
+
+fn main() {
+    let a = A { b: B::Fst };
+    if let B::Fst = a {}; //~ ERROR mismatched types [E0308]
+    //~^ HELP you might have meant to use field `b` whose type is `B`
+    match a {
+        //~^ HELP you might have meant to use field `b` whose type is `B`
+        //~| HELP you might have meant to use field `b` whose type is `B`
+        B::Fst => (), //~ ERROR mismatched types [E0308]
+        B::Snd => (), //~ ERROR mismatched types [E0308]
+    }
+
+    let foo = Foo { bar: 42 };
+    match foo {
+        //~^ HELP you might have meant to use field `bar` whose type is `u32`
+        1u32 => (), //~ ERROR mismatched types [E0308]
+        _ => (),
+    }
+}
diff --git a/src/test/ui/suggestions/field-access.stderr b/src/test/ui/suggestions/field-access.stderr
new file mode 100644
index 00000000000..b113b3746d8
--- /dev/null
+++ b/src/test/ui/suggestions/field-access.stderr
@@ -0,0 +1,67 @@
+error[E0308]: mismatched types
+  --> $DIR/field-access.rs:20:12
+   |
+LL |     Fst,
+   |     --- unit variant defined here
+...
+LL |     if let B::Fst = a {};
+   |            ^^^^^^   - this expression has type `A`
+   |            |
+   |            expected struct `A`, found enum `B`
+   |
+help: you might have meant to use field `b` whose type is `B`
+   |
+LL |     if let B::Fst = a.b {};
+   |                     ^^^
+
+error[E0308]: mismatched types
+  --> $DIR/field-access.rs:25:9
+   |
+LL |     Fst,
+   |     --- unit variant defined here
+...
+LL |     match a {
+   |           - this expression has type `A`
+...
+LL |         B::Fst => (),
+   |         ^^^^^^ expected struct `A`, found enum `B`
+   |
+help: you might have meant to use field `b` whose type is `B`
+   |
+LL |     match a.b {
+   |           ^^^
+
+error[E0308]: mismatched types
+  --> $DIR/field-access.rs:26:9
+   |
+LL |     Snd,
+   |     --- unit variant defined here
+...
+LL |     match a {
+   |           - this expression has type `A`
+...
+LL |         B::Snd => (),
+   |         ^^^^^^ expected struct `A`, found enum `B`
+   |
+help: you might have meant to use field `b` whose type is `B`
+   |
+LL |     match a.b {
+   |           ^^^
+
+error[E0308]: mismatched types
+  --> $DIR/field-access.rs:32:9
+   |
+LL |     match foo {
+   |           --- this expression has type `Foo`
+LL |
+LL |         1u32 => (),
+   |         ^^^^ expected union `Foo`, found `u32`
+   |
+help: you might have meant to use field `bar` whose type is `u32`
+   |
+LL |     match unsafe { foo.bar } {
+   |           ^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 4 previous errors
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.nll.stderr b/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.nll.stderr
index 697467dc3a6..6c235ae8f02 100644
--- a/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.nll.stderr
+++ b/src/test/ui/suggestions/impl-on-dyn-trait-with-implicit-static-bound.nll.stderr
@@ -40,3 +40,4 @@ LL |         MyTrait::use_self(val)
 
 error: aborting due to 4 previous errors
 
+For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/suggestions/issue-81098.rs b/src/test/ui/suggestions/issue-81098.rs
new file mode 100644
index 00000000000..a601b5866f4
--- /dev/null
+++ b/src/test/ui/suggestions/issue-81098.rs
@@ -0,0 +1,13 @@
+// Don't suggest removing a semicolon if the last statement isn't an expression with semicolon
+// (#81098)
+fn wat() -> impl core::fmt::Display { //~ ERROR: `()` doesn't implement `std::fmt::Display`
+    fn why() {}
+}
+
+// Do it if the last statement is an expression with semicolon
+// (#54771)
+fn ok() -> impl core::fmt::Display { //~ ERROR: `()` doesn't implement `std::fmt::Display`
+    1;
+}
+
+fn main() {}
diff --git a/src/test/ui/suggestions/issue-81098.stderr b/src/test/ui/suggestions/issue-81098.stderr
new file mode 100644
index 00000000000..2a72159e577
--- /dev/null
+++ b/src/test/ui/suggestions/issue-81098.stderr
@@ -0,0 +1,23 @@
+error[E0277]: `()` doesn't implement `std::fmt::Display`
+  --> $DIR/issue-81098.rs:3:13
+   |
+LL | fn wat() -> impl core::fmt::Display {
+   |             ^^^^^^^^^^^^^^^^^^^^^^^ `()` cannot be formatted with the default formatter
+   |
+   = help: the trait `std::fmt::Display` is not implemented for `()`
+   = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
+
+error[E0277]: `()` doesn't implement `std::fmt::Display`
+  --> $DIR/issue-81098.rs:9:12
+   |
+LL | fn ok() -> impl core::fmt::Display {
+   |            ^^^^^^^^^^^^^^^^^^^^^^^ `()` cannot be formatted with the default formatter
+LL |     1;
+   |      - consider removing this semicolon
+   |
+   = help: the trait `std::fmt::Display` is not implemented for `()`
+   = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/suggestions/missing-trait-bounds-for-method-call.rs b/src/test/ui/suggestions/missing-trait-bounds-for-method-call.rs
index fefdf149f55..afd47f71c2c 100644
--- a/src/test/ui/suggestions/missing-trait-bounds-for-method-call.rs
+++ b/src/test/ui/suggestions/missing-trait-bounds-for-method-call.rs
@@ -12,7 +12,7 @@ impl<T: Default + Bar> Bar for Foo<T> {}
 impl<T> Foo<T> {
     fn bar(&self) {
         self.foo();
-        //~^ ERROR no method named `foo` found for reference `&Foo<T>` in the current scope
+        //~^ ERROR the method
     }
 }
 
@@ -25,7 +25,7 @@ impl<T: Default + Bar> Bar for Fin<T> {}
 impl<T: Bar> Fin<T> {
     fn bar(&self) {
         self.foo();
-        //~^ ERROR no method named `foo` found for reference `&Fin<T>` in the current scope
+        //~^ ERROR the method
     }
 }
 fn main() {}
diff --git a/src/test/ui/suggestions/missing-trait-bounds-for-method-call.stderr b/src/test/ui/suggestions/missing-trait-bounds-for-method-call.stderr
index eb695379b58..c7376b0007f 100644
--- a/src/test/ui/suggestions/missing-trait-bounds-for-method-call.stderr
+++ b/src/test/ui/suggestions/missing-trait-bounds-for-method-call.stderr
@@ -1,13 +1,13 @@
-error[E0599]: no method named `foo` found for reference `&Foo<T>` in the current scope
+error[E0599]: the method `foo` exists for reference `&Foo<T>`, but its trait bounds were not satisfied
   --> $DIR/missing-trait-bounds-for-method-call.rs:14:14
    |
 LL | struct Foo<T> {
    | ------------- doesn't satisfy `Foo<T>: Bar`
 ...
 LL |         self.foo();
-   |              ^^^ method not found in `&Foo<T>`
+   |              ^^^ method cannot be called on `&Foo<T>` due to unsatisfied trait bounds
    |
-   = note: the method `foo` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `T: Bar`
            which is required by `Foo<T>: Bar`
            `T: Default`
@@ -17,16 +17,16 @@ help: consider restricting the type parameters to satisfy the trait bounds
 LL | struct Foo<T> where T: Bar, T: Default {
    |               ^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0599]: no method named `foo` found for reference `&Fin<T>` in the current scope
+error[E0599]: the method `foo` exists for reference `&Fin<T>`, but its trait bounds were not satisfied
   --> $DIR/missing-trait-bounds-for-method-call.rs:27:14
    |
 LL | struct Fin<T> where T: Bar {
    | -------------------------- doesn't satisfy `Fin<T>: Bar`
 ...
 LL |         self.foo();
-   |              ^^^ method not found in `&Fin<T>`
+   |              ^^^ method cannot be called on `&Fin<T>` due to unsatisfied trait bounds
    |
-   = note: the method `foo` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `T: Default`
            which is required by `Fin<T>: Bar`
 help: consider restricting the type parameter to satisfy the trait bound
diff --git a/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs b/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs
index f8b86377187..924bfd82eb8 100644
--- a/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs
+++ b/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs
@@ -19,5 +19,5 @@ fn main() {
     //~| ERROR the trait bound `&dyn std::io::Write: std::io::Write` is not satisfied
     //~| ERROR the trait bound `&dyn std::io::Write: std::io::Write` is not satisfied
 
-    writeln!(fp, "hello world").unwrap(); //~ ERROR no method named `write_fmt` found for struct
+    writeln!(fp, "hello world").unwrap(); //~ ERROR the method
 }
diff --git a/src/test/ui/suggestions/mut-borrow-needed-by-trait.stderr b/src/test/ui/suggestions/mut-borrow-needed-by-trait.stderr
index 8a9a1e57935..3120b739c02 100644
--- a/src/test/ui/suggestions/mut-borrow-needed-by-trait.stderr
+++ b/src/test/ui/suggestions/mut-borrow-needed-by-trait.stderr
@@ -33,18 +33,18 @@ LL | pub struct BufWriter<W: Write> {
    |
    = note: `std::io::Write` is implemented for `&mut dyn std::io::Write`, but not for `&dyn std::io::Write`
 
-error[E0599]: no method named `write_fmt` found for struct `BufWriter<&dyn std::io::Write>` in the current scope
+error[E0599]: the method `write_fmt` exists for struct `BufWriter<&dyn std::io::Write>`, but its trait bounds were not satisfied
   --> $DIR/mut-borrow-needed-by-trait.rs:22:5
    |
 LL |     writeln!(fp, "hello world").unwrap();
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `BufWriter<&dyn std::io::Write>`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `BufWriter<&dyn std::io::Write>` due to unsatisfied trait bounds
    | 
   ::: $SRC_DIR/std/src/io/buffered/bufwriter.rs:LL:COL
    |
 LL | pub struct BufWriter<W: Write> {
    | ------------------------------ doesn't satisfy `BufWriter<&dyn std::io::Write>: std::io::Write`
    |
-   = note: the method `write_fmt` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `&dyn std::io::Write: std::io::Write`
            which is required by `BufWriter<&dyn std::io::Write>: std::io::Write`
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/src/test/ui/suggestions/mut-ref-reassignment.stderr b/src/test/ui/suggestions/mut-ref-reassignment.stderr
index e31c4dc66c8..327bbee1968 100644
--- a/src/test/ui/suggestions/mut-ref-reassignment.stderr
+++ b/src/test/ui/suggestions/mut-ref-reassignment.stderr
@@ -17,7 +17,7 @@ error[E0308]: mismatched types
 LL |     opt = None
    |           ^^^^ expected mutable reference, found enum `Option`
    |
-   = note: expected mutable reference `&mut std::result::Result<String, ()>`
+   = note: expected mutable reference `&mut Result<String, ()>`
                            found enum `Option<_>`
 
 error[E0308]: mismatched types
diff --git a/src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.rs b/src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.rs
new file mode 100644
index 00000000000..98b408daa02
--- /dev/null
+++ b/src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.rs
@@ -0,0 +1,43 @@
+// In rustc_typeck::check::expr::no_such_field_err we recursively
+// look in subfields for the field. This recursive search is limited
+// in depth for compile-time reasons and to avoid infinite recursion
+// in case of cycles. This file tests that the limit in the recursion
+// depth is enforced.
+
+struct Foo {
+    first: Bar,
+    second: u32,
+    third: u32,
+}
+
+struct Bar {
+    bar: C,
+}
+
+struct C {
+    c: D,
+}
+
+struct D {
+    test: E,
+}
+
+struct E {
+    e: F,
+}
+
+struct F {
+    f: u32,
+}
+
+fn main() {
+    let f = F { f: 6 };
+    let e = E { e: f };
+    let d = D { test: e };
+    let c = C { c: d };
+    let bar = Bar { bar: c };
+    let fooer = Foo { first: bar, second: 4, third: 5 };
+
+    let test = fooer.f;
+    //~^ ERROR no field
+}
diff --git a/src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.stderr b/src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.stderr
new file mode 100644
index 00000000000..b294f4da7db
--- /dev/null
+++ b/src/test/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.stderr
@@ -0,0 +1,11 @@
+error[E0609]: no field `f` on type `Foo`
+  --> $DIR/non-existent-field-present-in-subfield-recursion-limit.rs:41:22
+   |
+LL |     let test = fooer.f;
+   |                      ^ unknown field
+   |
+   = note: available fields are: `first`, `second`, `third`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0609`.
diff --git a/src/test/ui/suggestions/non-existent-field-present-in-subfield.fixed b/src/test/ui/suggestions/non-existent-field-present-in-subfield.fixed
new file mode 100644
index 00000000000..e58b4e6ca4d
--- /dev/null
+++ b/src/test/ui/suggestions/non-existent-field-present-in-subfield.fixed
@@ -0,0 +1,42 @@
+// run-rustfix
+
+struct Foo {
+    first: Bar,
+    _second: u32,
+    _third: Vec<String>,
+}
+
+struct Bar {
+    bar: C,
+}
+
+struct C {
+    c: D,
+}
+
+struct D {
+    test: E,
+}
+
+struct E {
+    _e: F,
+}
+
+struct F {
+    _f: u32,
+}
+
+fn main() {
+    let f = F { _f: 6 };
+    let e = E { _e: f };
+    let d = D { test: e };
+    let c = C { c: d };
+    let bar = Bar { bar: c };
+    let fooer = Foo { first: bar, _second: 4, _third: Vec::new() };
+
+    let _test = &fooer.first.bar.c;
+    //~^ ERROR no field
+
+    let _test2 = fooer.first.bar.c.test;
+    //~^ ERROR no field
+}
diff --git a/src/test/ui/suggestions/non-existent-field-present-in-subfield.rs b/src/test/ui/suggestions/non-existent-field-present-in-subfield.rs
new file mode 100644
index 00000000000..7e273ac23d8
--- /dev/null
+++ b/src/test/ui/suggestions/non-existent-field-present-in-subfield.rs
@@ -0,0 +1,42 @@
+// run-rustfix
+
+struct Foo {
+    first: Bar,
+    _second: u32,
+    _third: Vec<String>,
+}
+
+struct Bar {
+    bar: C,
+}
+
+struct C {
+    c: D,
+}
+
+struct D {
+    test: E,
+}
+
+struct E {
+    _e: F,
+}
+
+struct F {
+    _f: u32,
+}
+
+fn main() {
+    let f = F { _f: 6 };
+    let e = E { _e: f };
+    let d = D { test: e };
+    let c = C { c: d };
+    let bar = Bar { bar: c };
+    let fooer = Foo { first: bar, _second: 4, _third: Vec::new() };
+
+    let _test = &fooer.c;
+    //~^ ERROR no field
+
+    let _test2 = fooer.test;
+    //~^ ERROR no field
+}
diff --git a/src/test/ui/suggestions/non-existent-field-present-in-subfield.stderr b/src/test/ui/suggestions/non-existent-field-present-in-subfield.stderr
new file mode 100644
index 00000000000..ddb7476ec6e
--- /dev/null
+++ b/src/test/ui/suggestions/non-existent-field-present-in-subfield.stderr
@@ -0,0 +1,27 @@
+error[E0609]: no field `c` on type `Foo`
+  --> $DIR/non-existent-field-present-in-subfield.rs:37:24
+   |
+LL |     let _test = &fooer.c;
+   |                        ^ unknown field
+   |
+   = note: available fields are: `first`, `_second`, `_third`
+help: one of the expressions' fields has a field of the same name
+   |
+LL |     let _test = &fooer.first.bar.c;
+   |                        ^^^^^^^^^^
+
+error[E0609]: no field `test` on type `Foo`
+  --> $DIR/non-existent-field-present-in-subfield.rs:40:24
+   |
+LL |     let _test2 = fooer.test;
+   |                        ^^^^ unknown field
+   |
+   = note: available fields are: `first`, `_second`, `_third`
+help: one of the expressions' fields has a field of the same name
+   |
+LL |     let _test2 = fooer.first.bar.c.test;
+   |                        ^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0609`.
diff --git a/src/test/ui/suggestions/option-content-move.stderr b/src/test/ui/suggestions/option-content-move.stderr
index 0f3dd346e85..c00a0f1700b 100644
--- a/src/test/ui/suggestions/option-content-move.stderr
+++ b/src/test/ui/suggestions/option-content-move.stderr
@@ -13,7 +13,7 @@ error[E0507]: cannot move out of `selection.1` which is behind a shared referenc
 LL |                 if selection.1.unwrap().contains(selection.0) {
    |                    ^^^^^^^^^^^
    |                    |
-   |                    move occurs because `selection.1` has type `std::result::Result<String, String>`, which does not implement the `Copy` trait
+   |                    move occurs because `selection.1` has type `Result<String, String>`, which does not implement the `Copy` trait
    |                    help: consider borrowing the `Result`'s content: `selection.1.as_ref()`
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/suggestions/suggest-box.stderr b/src/test/ui/suggestions/suggest-box.stderr
index 57c83baf4f8..8107fd86212 100644
--- a/src/test/ui/suggestions/suggest-box.stderr
+++ b/src/test/ui/suggestions/suggest-box.stderr
@@ -10,7 +10,7 @@ LL | |         Ok(())
 LL | |     };
    | |_____^ expected struct `Box`, found closure
    |
-   = note: expected struct `Box<dyn Fn() -> std::result::Result<(), ()>>`
+   = note: expected struct `Box<dyn Fn() -> Result<(), ()>>`
              found closure `[closure@$DIR/suggest-box.rs:4:47: 7:6]`
    = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
 help: store this in the heap by calling `Box::new`
diff --git a/src/test/ui/suggestions/vec-macro-in-pattern.fixed b/src/test/ui/suggestions/vec-macro-in-pattern.fixed
deleted file mode 100644
index e1695d6820a..00000000000
--- a/src/test/ui/suggestions/vec-macro-in-pattern.fixed
+++ /dev/null
@@ -1,8 +0,0 @@
-// run-rustfix
-fn main() {
-    // everything after `.as_ref` should be suggested
-    match Some(vec![3]).as_ref().map(|v| v.as_slice()) {
-        Some([_x]) => (), //~ ERROR unexpected `(` after qualified path
-        _ => (),
-    }
-}
diff --git a/src/test/ui/suggestions/vec-macro-in-pattern.rs b/src/test/ui/suggestions/vec-macro-in-pattern.rs
deleted file mode 100644
index 4843629fbcf..00000000000
--- a/src/test/ui/suggestions/vec-macro-in-pattern.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// run-rustfix
-fn main() {
-    // everything after `.as_ref` should be suggested
-    match Some(vec![3]).as_ref().map(|v| v.as_slice()) {
-        Some(vec![_x]) => (), //~ ERROR unexpected `(` after qualified path
-        _ => (),
-    }
-}
diff --git a/src/test/ui/suggestions/vec-macro-in-pattern.stderr b/src/test/ui/suggestions/vec-macro-in-pattern.stderr
deleted file mode 100644
index f9d0464ac88..00000000000
--- a/src/test/ui/suggestions/vec-macro-in-pattern.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error: unexpected `(` after qualified path
-  --> $DIR/vec-macro-in-pattern.rs:5:14
-   |
-LL |         Some(vec![_x]) => (),
-   |              ^^^^^^^^
-   |              |
-   |              unexpected `(` after qualified path
-   |              the qualified path
-   |              in this macro invocation
-   |              help: use a slice pattern here instead: `[_x]`
-   |
-   = help: for more information, see https://doc.rust-lang.org/edition-guide/rust-2018/slice-patterns.html
-   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-53675-a-test-called-panic.rs b/src/test/ui/test-attrs/issue-53675-a-test-called-panic.rs
index e573038980d..e573038980d 100644
--- a/src/test/ui/issues/issue-53675-a-test-called-panic.rs
+++ b/src/test/ui/test-attrs/issue-53675-a-test-called-panic.rs
diff --git a/src/test/ui/issues/issue-4446.rs b/src/test/ui/threads-sendsync/issue-4446.rs
index 948f2a7bdf3..948f2a7bdf3 100644
--- a/src/test/ui/issues/issue-4446.rs
+++ b/src/test/ui/threads-sendsync/issue-4446.rs
diff --git a/src/test/ui/issues/issue-33140-hack-boundaries.rs b/src/test/ui/traits/issue-33140-hack-boundaries.rs
index d091162fced..d091162fced 100644
--- a/src/test/ui/issues/issue-33140-hack-boundaries.rs
+++ b/src/test/ui/traits/issue-33140-hack-boundaries.rs
diff --git a/src/test/ui/issues/issue-33140-hack-boundaries.stderr b/src/test/ui/traits/issue-33140-hack-boundaries.stderr
index ae65701ecb5..ae65701ecb5 100644
--- a/src/test/ui/issues/issue-33140-hack-boundaries.stderr
+++ b/src/test/ui/traits/issue-33140-hack-boundaries.stderr
diff --git a/src/test/ui/issues/issue-3683.rs b/src/test/ui/traits/issue-3683.rs
index b12c450c937..b12c450c937 100644
--- a/src/test/ui/issues/issue-3683.rs
+++ b/src/test/ui/traits/issue-3683.rs
diff --git a/src/test/ui/issues/issue-56202.rs b/src/test/ui/traits/issue-56202.rs
index 0952843e60a..0952843e60a 100644
--- a/src/test/ui/issues/issue-56202.rs
+++ b/src/test/ui/traits/issue-56202.rs
diff --git a/src/test/ui/issues/issue-56488.rs b/src/test/ui/traits/issue-56488.rs
index e2f3996927b..e2f3996927b 100644
--- a/src/test/ui/issues/issue-56488.rs
+++ b/src/test/ui/traits/issue-56488.rs
diff --git a/src/test/ui/issues/issue-59029-2.rs b/src/test/ui/traits/issue-59029-2.rs
index 2bdb128d8c4..2bdb128d8c4 100644
--- a/src/test/ui/issues/issue-59029-2.rs
+++ b/src/test/ui/traits/issue-59029-2.rs
diff --git a/src/test/ui/issues/issue-6128.rs b/src/test/ui/traits/issue-6128.rs
index 8859fbe6afb..8859fbe6afb 100644
--- a/src/test/ui/issues/issue-6128.rs
+++ b/src/test/ui/traits/issue-6128.rs
diff --git a/src/test/ui/issues/issue-65284-suggest-generic-trait-bound.rs b/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.rs
index 018ce0459fd..018ce0459fd 100644
--- a/src/test/ui/issues/issue-65284-suggest-generic-trait-bound.rs
+++ b/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.rs
diff --git a/src/test/ui/issues/issue-65284-suggest-generic-trait-bound.stderr b/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.stderr
index 4807a0930e7..4807a0930e7 100644
--- a/src/test/ui/issues/issue-65284-suggest-generic-trait-bound.stderr
+++ b/src/test/ui/traits/issue-65284-suggest-generic-trait-bound.stderr
diff --git a/src/test/ui/traits/mutual-recursion-issue-75860.rs b/src/test/ui/traits/mutual-recursion-issue-75860.rs
new file mode 100644
index 00000000000..d7d7307b424
--- /dev/null
+++ b/src/test/ui/traits/mutual-recursion-issue-75860.rs
@@ -0,0 +1,15 @@
+pub fn iso<A, B, F1, F2>(a: F1, b: F2) -> (Box<dyn Fn(A) -> B>, Box<dyn Fn(B) -> A>)
+    where
+        F1: (Fn(A) -> B) + 'static,
+        F2: (Fn(B) -> A) + 'static,
+{
+    (Box::new(a), Box::new(b))
+}
+pub fn iso_un_option<A, B>() -> (Box<dyn Fn(A) -> B>, Box<dyn Fn(B) -> A>) {
+   let left = |o_a: Option<_>| o_a.unwrap();
+    let right = |o_b: Option<_>| o_b.unwrap();
+    iso(left, right)
+    //~^ ERROR overflow
+}
+
+fn main() {}
diff --git a/src/test/ui/traits/mutual-recursion-issue-75860.stderr b/src/test/ui/traits/mutual-recursion-issue-75860.stderr
new file mode 100644
index 00000000000..cf867ef78c3
--- /dev/null
+++ b/src/test/ui/traits/mutual-recursion-issue-75860.stderr
@@ -0,0 +1,16 @@
+error[E0275]: overflow evaluating the requirement `Option<_>: Sized`
+  --> $DIR/mutual-recursion-issue-75860.rs:11:5
+   |
+LL |     iso(left, right)
+   |     ^^^
+   | 
+  ::: $SRC_DIR/core/src/option.rs:LL:COL
+   |
+LL | pub enum Option<T> {
+   |                 - required by this bound in `Option`
+   |
+   = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`mutual_recursion_issue_75860`)
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0275`.
diff --git a/src/test/ui/traits/self-without-lifetime-constraint.stderr b/src/test/ui/traits/self-without-lifetime-constraint.stderr
index 6c7abe753e2..73b5aec022c 100644
--- a/src/test/ui/traits/self-without-lifetime-constraint.stderr
+++ b/src/test/ui/traits/self-without-lifetime-constraint.stderr
@@ -2,13 +2,13 @@ error: `impl` item signature doesn't match `trait` item signature
   --> $DIR/self-without-lifetime-constraint.rs:45:5
    |
 LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
-   |     -------------------------------------------------------------------- expected `fn(ValueRef<'_>) -> std::result::Result<(&str, &&str), FromSqlError>`
+   |     -------------------------------------------------------------------- expected `fn(ValueRef<'_>) -> Result<(&str, &&str), FromSqlError>`
 ...
 LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<&str, &&str> {
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(ValueRef<'_>) -> std::result::Result<(&str, &&str), FromSqlError>`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(ValueRef<'_>) -> Result<(&str, &&str), FromSqlError>`
    |
-   = note: expected `fn(ValueRef<'_>) -> std::result::Result<(&str, &&str), _>`
-              found `fn(ValueRef<'_>) -> std::result::Result<(&str, &&str), _>`
+   = note: expected `fn(ValueRef<'_>) -> Result<(&str, &&str), _>`
+              found `fn(ValueRef<'_>) -> Result<(&str, &&str), _>`
 help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait`
   --> $DIR/self-without-lifetime-constraint.rs:41:60
    |
diff --git a/src/test/ui/try-block/try-block-bad-type.stderr b/src/test/ui/try-block/try-block-bad-type.stderr
index cadf3a841c9..2d1313d7d0e 100644
--- a/src/test/ui/try-block/try-block-bad-type.stderr
+++ b/src/test/ui/try-block/try-block-bad-type.stderr
@@ -13,13 +13,13 @@ LL |         Err("")?;
            and 2 others
    = note: required by `from`
 
-error[E0271]: type mismatch resolving `<std::result::Result<i32, i32> as Try>::Ok == &str`
+error[E0271]: type mismatch resolving `<Result<i32, i32> as Try>::Ok == &str`
   --> $DIR/try-block-bad-type.rs:12:9
    |
 LL |         ""
    |         ^^ expected `i32`, found `&str`
 
-error[E0271]: type mismatch resolving `<std::result::Result<i32, i32> as Try>::Ok == ()`
+error[E0271]: type mismatch resolving `<Result<i32, i32> as Try>::Ok == ()`
   --> $DIR/try-block-bad-type.rs:15:39
    |
 LL |     let res: Result<i32, i32> = try { };
diff --git a/src/test/ui/type/ascription/issue-47666.stderr b/src/test/ui/type/ascription/issue-47666.stderr
index ba393ff1a20..755eec23c2e 100644
--- a/src/test/ui/type/ascription/issue-47666.stderr
+++ b/src/test/ui/type/ascription/issue-47666.stderr
@@ -1,4 +1,4 @@
-error: expected type, found reserved keyword `box`
+error: expected type, found `<[_]>::into_vec(box [0, 1])`
   --> $DIR/issue-47666.rs:3:25
    |
 LL |     let _ = Option:Some(vec![0, 1]);
diff --git a/src/test/ui/typeck/issue-80207-unsized-return.rs b/src/test/ui/typeck/issue-80207-unsized-return.rs
new file mode 100644
index 00000000000..75430da1482
--- /dev/null
+++ b/src/test/ui/typeck/issue-80207-unsized-return.rs
@@ -0,0 +1,20 @@
+// check-pass
+
+trait Foo {
+    fn do_stuff() -> Self;
+}
+
+trait Bar {
+    type Output;
+}
+
+impl<T> Foo for dyn Bar<Output = T>
+where
+    Self: Sized,
+{
+    fn do_stuff() -> Self {
+        todo!()
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/typeck/issue-81293.rs b/src/test/ui/typeck/issue-81293.rs
new file mode 100644
index 00000000000..076b8c944b8
--- /dev/null
+++ b/src/test/ui/typeck/issue-81293.rs
@@ -0,0 +1,9 @@
+fn main() {
+    let a: u16;
+    let b: u16 = 42;
+    let c: usize = 5;
+
+    a = c + b * 5; //~ ERROR: mismatched types [E0308]
+                   //~| ERROR: mismatched types [E0308]
+                   //~| ERROR: cannot add `u16` to `usize` [E0277]
+}
diff --git a/src/test/ui/typeck/issue-81293.stderr b/src/test/ui/typeck/issue-81293.stderr
new file mode 100644
index 00000000000..1e6ff3b5f9e
--- /dev/null
+++ b/src/test/ui/typeck/issue-81293.stderr
@@ -0,0 +1,24 @@
+error[E0308]: mismatched types
+  --> $DIR/issue-81293.rs:6:13
+   |
+LL |     a = c + b * 5;
+   |             ^^^^^ expected `usize`, found `u16`
+
+error[E0308]: mismatched types
+  --> $DIR/issue-81293.rs:6:9
+   |
+LL |     a = c + b * 5;
+   |         ^^^^^^^^^ expected `u16`, found `usize`
+
+error[E0277]: cannot add `u16` to `usize`
+  --> $DIR/issue-81293.rs:6:11
+   |
+LL |     a = c + b * 5;
+   |           ^ no implementation for `usize + u16`
+   |
+   = help: the trait `Add<u16>` is not implemented for `usize`
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0277, E0308.
+For more information about an error, try `rustc --explain E0277`.
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item_help.rs b/src/test/ui/typeck/typeck_type_placeholder_item_help.rs
index 905fc35350e..0c890f88c60 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item_help.rs
+++ b/src/test/ui/typeck/typeck_type_placeholder_item_help.rs
@@ -10,15 +10,18 @@ const TEST2: _ = 42u32;
 const TEST3: _ = Some(42);
 //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
 
-trait Test4 {
-    const TEST4: _ = 42;
+const TEST4: fn() -> _ = 42;
+//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
+
+trait Test5 {
+    const TEST5: _ = 42;
     //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
 }
 
-struct Test5;
+struct Test6;
 
-impl Test5 {
-    const TEST5: _ = 13;
+impl Test6 {
+    const TEST6: _ = 13;
     //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
 }
 
diff --git a/src/test/ui/typeck/typeck_type_placeholder_item_help.stderr b/src/test/ui/typeck/typeck_type_placeholder_item_help.stderr
index 88133814d29..0121e186316 100644
--- a/src/test/ui/typeck/typeck_type_placeholder_item_help.stderr
+++ b/src/test/ui/typeck/typeck_type_placeholder_item_help.stderr
@@ -26,23 +26,32 @@ LL | const TEST3: _ = Some(42);
    |              help: replace `_` with the correct type: `Option<i32>`
 
 error[E0121]: the type placeholder `_` is not allowed within types on item signatures
-  --> $DIR/typeck_type_placeholder_item_help.rs:14:18
+  --> $DIR/typeck_type_placeholder_item_help.rs:13:22
    |
-LL |     const TEST4: _ = 42;
+LL | const TEST4: fn() -> _ = 42;
+   |                      ^
+   |                      |
+   |                      not allowed in type signatures
+   |                      help: use type parameters instead: `T`
+
+error[E0121]: the type placeholder `_` is not allowed within types on item signatures
+  --> $DIR/typeck_type_placeholder_item_help.rs:17:18
+   |
+LL |     const TEST5: _ = 42;
    |                  ^
    |                  |
    |                  not allowed in type signatures
    |                  help: replace `_` with the correct type: `i32`
 
 error[E0121]: the type placeholder `_` is not allowed within types on item signatures
-  --> $DIR/typeck_type_placeholder_item_help.rs:21:18
+  --> $DIR/typeck_type_placeholder_item_help.rs:24:18
    |
-LL |     const TEST5: _ = 13;
+LL |     const TEST6: _ = 13;
    |                  ^
    |                  |
    |                  not allowed in type signatures
    |                  help: replace `_` with the correct type: `i32`
 
-error: aborting due to 5 previous errors
+error: aborting due to 6 previous errors
 
 For more information about this error, try `rustc --explain E0121`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr
index 5dea424596e..a0ed56d4bcf 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr
+++ b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr
@@ -3,6 +3,8 @@ error[E0596]: cannot borrow `tick1` as mutable, as it is not declared as mutable
    |
 LL |     let tick1 = || {
    |         ----- help: consider changing this to be mutable: `mut tick1`
+LL |         counter += 1;
+   |         ------- calling `tick1` requires mutable binding due to mutable borrow of `counter`
 ...
 LL |         tick1();
    |         ^^^^^ cannot borrow as mutable
@@ -12,6 +14,8 @@ error[E0596]: cannot borrow `tick2` as mutable, as it is not declared as mutable
    |
 LL |     let tick2 = || {
    |         ----- help: consider changing this to be mutable: `mut tick2`
+LL |         tick1();
+   |         ----- calling `tick2` requires mutable binding due to mutable borrow of `tick1`
 ...
 LL |     tick2();
    |     ^^^^^ cannot borrow as mutable
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr
index eb398628846..27d23e3fa04 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr
+++ b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr
@@ -2,7 +2,9 @@ error[E0596]: cannot borrow `tick` as mutable, as it is not declared as mutable
   --> $DIR/unboxed-closures-infer-fnmut-missing-mut.rs:7:5
    |
 LL |     let tick = || counter += 1;
-   |         ---- help: consider changing this to be mutable: `mut tick`
+   |         ----      ------- calling `tick` requires mutable binding due to mutable borrow of `counter`
+   |         |
+   |         help: consider changing this to be mutable: `mut tick`
 LL |     tick();
    |     ^^^^ cannot borrow as mutable
 
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr
index b9d76d9a752..c00f986c397 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr
+++ b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr
@@ -2,7 +2,9 @@ error[E0596]: cannot borrow `tick` as mutable, as it is not declared as mutable
   --> $DIR/unboxed-closures-infer-fnmut-move-missing-mut.rs:7:5
    |
 LL |     let tick = move || counter += 1;
-   |         ---- help: consider changing this to be mutable: `mut tick`
+   |         ----           ------- calling `tick` requires mutable binding due to possible mutation of `counter`
+   |         |
+   |         help: consider changing this to be mutable: `mut tick`
 LL |     tick();
    |     ^^^^ cannot borrow as mutable
 
diff --git a/src/test/ui/underscore-imports/hygiene.rs b/src/test/ui/underscore-imports/hygiene.rs
index a254f6eaa59..c4db6524538 100644
--- a/src/test/ui/underscore-imports/hygiene.rs
+++ b/src/test/ui/underscore-imports/hygiene.rs
@@ -1,5 +1,6 @@
-// Make sure that underscore imports have the same hygiene considerations as
-// other imports.
+// Make sure that underscore imports have the same hygiene considerations as other imports.
+
+// check-pass
 
 #![feature(decl_macro)]
 
@@ -7,7 +8,6 @@ mod x {
     pub use std::ops::Deref as _;
 }
 
-
 macro glob_import() {
     pub use crate::x::*;
 }
@@ -35,6 +35,6 @@ fn main() {
     use crate::z::*;
     glob_import!();
     underscore_import!();
-    (&()).deref();              //~ ERROR no method named `deref`
-    (&mut ()).deref_mut();      //~ ERROR no method named `deref_mut`
+    (&()).deref();
+    (&mut ()).deref_mut();
 }
diff --git a/src/test/ui/underscore-imports/hygiene.stderr b/src/test/ui/underscore-imports/hygiene.stderr
deleted file mode 100644
index 29836137860..00000000000
--- a/src/test/ui/underscore-imports/hygiene.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error[E0599]: no method named `deref` found for reference `&()` in the current scope
-  --> $DIR/hygiene.rs:38:11
-   |
-LL |     (&()).deref();
-   |           ^^^^^ method not found in `&()`
-   |
-   = help: items from traits can only be used if the trait is in scope
-help: the following trait is implemented but not in scope; perhaps add a `use` for it:
-   |
-LL | use std::ops::Deref;
-   |
-
-error[E0599]: no method named `deref_mut` found for mutable reference `&mut ()` in the current scope
-  --> $DIR/hygiene.rs:39:15
-   |
-LL |     (&mut ()).deref_mut();
-   |               ^^^^^^^^^ method not found in `&mut ()`
-   |
-   = help: items from traits can only be used if the trait is in scope
-help: the following trait is implemented but not in scope; perhaps add a `use` for it:
-   |
-LL | use std::ops::DerefMut;
-   |
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0599`.
diff --git a/src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr b/src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr
index 7b999f50773..4f2f9e070fe 100644
--- a/src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr
+++ b/src/test/ui/uninhabited/uninhabited-matches-feature-gated.stderr
@@ -10,7 +10,7 @@ LL |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |     --- not covered
    |
    = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
-   = note: the matched value is of type `std::result::Result<u32, &Void>`
+   = note: the matched value is of type `Result<u32, &Void>`
 
 error[E0004]: non-exhaustive patterns: type `&Void` is non-empty
   --> $DIR/uninhabited-matches-feature-gated.rs:15:19
@@ -64,7 +64,7 @@ LL |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |     --- not covered
    |
    = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
-   = note: the matched value is of type `std::result::Result<u32, Void>`
+   = note: the matched value is of type `Result<u32, Void>`
 
 error[E0005]: refutable pattern in local binding: `Err(_)` not covered
   --> $DIR/uninhabited-matches-feature-gated.rs:37:9
@@ -79,7 +79,7 @@ LL |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |
    = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
-   = note: the matched value is of type `std::result::Result<u32, Void>`
+   = note: the matched value is of type `Result<u32, Void>`
 help: you might want to use `if let` to ignore the variant that isn't matched
    |
 LL |     if let Ok(x) = x { /* */ }
diff --git a/src/test/ui/union/union-derive-clone.rs b/src/test/ui/union/union-derive-clone.rs
index 753a9f74d03..7ab19edb471 100644
--- a/src/test/ui/union/union-derive-clone.rs
+++ b/src/test/ui/union/union-derive-clone.rs
@@ -32,5 +32,5 @@ struct CloneNoCopy;
 
 fn main() {
     let u = U5 { a: ManuallyDrop::new(CloneNoCopy) };
-    let w = u.clone(); //~ ERROR no method named `clone` found for union `U5<CloneNoCopy>`
+    let w = u.clone(); //~ ERROR the method
 }
diff --git a/src/test/ui/union/union-derive-clone.stderr b/src/test/ui/union/union-derive-clone.stderr
index e18f457a8b6..a793bf58d23 100644
--- a/src/test/ui/union/union-derive-clone.stderr
+++ b/src/test/ui/union/union-derive-clone.stderr
@@ -11,7 +11,7 @@ LL | pub struct AssertParamIsCopy<T: Copy + ?Sized> {
    |
    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0599]: no method named `clone` found for union `U5<CloneNoCopy>` in the current scope
+error[E0599]: the method `clone` exists for union `U5<CloneNoCopy>`, but its trait bounds were not satisfied
   --> $DIR/union-derive-clone.rs:35:15
    |
 LL | union U5<T> {
@@ -24,7 +24,7 @@ LL | struct CloneNoCopy;
    | ------------------- doesn't satisfy `CloneNoCopy: Copy`
 ...
 LL |     let w = u.clone();
-   |               ^^^^^ method not found in `U5<CloneNoCopy>`
+   |               ^^^^^ method cannot be called on `U5<CloneNoCopy>` due to unsatisfied trait bounds
    | 
   ::: $SRC_DIR/core/src/clone.rs:LL:COL
    |
@@ -34,7 +34,7 @@ LL |     fn clone(&self) -> Self;
    |        the method is available for `Arc<U5<CloneNoCopy>>` here
    |        the method is available for `Rc<U5<CloneNoCopy>>` here
    |
-   = note: the method `clone` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `CloneNoCopy: Copy`
            which is required by `U5<CloneNoCopy>: Clone`
 
diff --git a/src/test/ui/unique-object-noncopyable.rs b/src/test/ui/unique-object-noncopyable.rs
index dd38a7190aa..d243b8f34db 100644
--- a/src/test/ui/unique-object-noncopyable.rs
+++ b/src/test/ui/unique-object-noncopyable.rs
@@ -21,5 +21,5 @@ impl Foo for Bar {
 fn main() {
     let x = box Bar { x: 10 };
     let y: Box<dyn Foo> = x as Box<dyn Foo>;
-    let _z = y.clone(); //~ ERROR no method named `clone` found
+    let _z = y.clone(); //~ ERROR the method
 }
diff --git a/src/test/ui/unique-object-noncopyable.stderr b/src/test/ui/unique-object-noncopyable.stderr
index 09cbb875338..4bbacfc0a8b 100644
--- a/src/test/ui/unique-object-noncopyable.stderr
+++ b/src/test/ui/unique-object-noncopyable.stderr
@@ -1,4 +1,4 @@
-error[E0599]: no method named `clone` found for struct `Box<dyn Foo>` in the current scope
+error[E0599]: the method `clone` exists for struct `Box<dyn Foo>`, but its trait bounds were not satisfied
   --> $DIR/unique-object-noncopyable.rs:24:16
    |
 LL |   trait Foo {
@@ -8,7 +8,7 @@ LL |   trait Foo {
    |   doesn't satisfy `dyn Foo: Sized`
 ...
 LL |       let _z = y.clone();
-   |                  ^^^^^ method not found in `Box<dyn Foo>`
+   |                  ^^^^^ method cannot be called on `Box<dyn Foo>` due to unsatisfied trait bounds
    | 
   ::: $SRC_DIR/core/src/clone.rs:LL:COL
    |
@@ -26,7 +26,7 @@ LL | |     #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator
 LL | | >(Unique<T>, A);
    | |________________- doesn't satisfy `Box<dyn Foo>: Clone`
    |
-   = note: the method `clone` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `dyn Foo: Sized`
            which is required by `Box<dyn Foo>: Clone`
            `dyn Foo: Clone`
diff --git a/src/test/ui/unique-pinned-nocopy.rs b/src/test/ui/unique-pinned-nocopy.rs
index 4c30450c704..8edaeef51e0 100644
--- a/src/test/ui/unique-pinned-nocopy.rs
+++ b/src/test/ui/unique-pinned-nocopy.rs
@@ -9,6 +9,6 @@ impl Drop for R {
 
 fn main() {
     let i = Box::new(R { b: true });
-    let _j = i.clone(); //~ ERROR no method named `clone` found
+    let _j = i.clone(); //~ ERROR the method
     println!("{:?}", i);
 }
diff --git a/src/test/ui/unique-pinned-nocopy.stderr b/src/test/ui/unique-pinned-nocopy.stderr
index bc081024182..dd0b7fc5489 100644
--- a/src/test/ui/unique-pinned-nocopy.stderr
+++ b/src/test/ui/unique-pinned-nocopy.stderr
@@ -1,11 +1,11 @@
-error[E0599]: no method named `clone` found for struct `Box<R>` in the current scope
+error[E0599]: the method `clone` exists for struct `Box<R>`, but its trait bounds were not satisfied
   --> $DIR/unique-pinned-nocopy.rs:12:16
    |
 LL |   struct R {
    |   -------- doesn't satisfy `R: Clone`
 ...
 LL |       let _j = i.clone();
-   |                  ^^^^^ method not found in `Box<R>`
+   |                  ^^^^^ method cannot be called on `Box<R>` due to unsatisfied trait bounds
    | 
   ::: $SRC_DIR/core/src/clone.rs:LL:COL
    |
@@ -23,7 +23,7 @@ LL | |     #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator
 LL | | >(Unique<T>, A);
    | |________________- doesn't satisfy `Box<R>: Clone`
    |
-   = note: the method `clone` exists but the following trait bounds were not satisfied:
+   = note: the following trait bounds were not satisfied:
            `R: Clone`
            which is required by `Box<R>: Clone`
    = help: items from traits can only be used if the trait is implemented and in scope
diff --git a/src/test/ui/unsafe/ranged_ints2_const.rs b/src/test/ui/unsafe/ranged_ints2_const.rs
index 65e0d79308c..b7178c2b52b 100644
--- a/src/test/ui/unsafe/ranged_ints2_const.rs
+++ b/src/test/ui/unsafe/ranged_ints2_const.rs
@@ -18,3 +18,9 @@ const fn bar() -> NonZero<u32> {
     let y = unsafe { &mut x.0 }; //~ ERROR mutable references
     unsafe { NonZero(1) }
 }
+
+const fn boo() -> NonZero<u32> {
+    let mut x = unsafe { NonZero(1) };
+    unsafe { let y = &mut x.0; } //~ ERROR mutable references
+    unsafe { NonZero(1) }
+}
diff --git a/src/test/ui/unsafe/ranged_ints2_const.stderr b/src/test/ui/unsafe/ranged_ints2_const.stderr
index 5ce4296458e..a0dc950e76d 100644
--- a/src/test/ui/unsafe/ranged_ints2_const.stderr
+++ b/src/test/ui/unsafe/ranged_ints2_const.stderr
@@ -16,6 +16,15 @@ LL |     let y = unsafe { &mut x.0 };
    = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
    = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
+error[E0658]: mutable references are not allowed in constant functions
+  --> $DIR/ranged_ints2_const.rs:24:22
+   |
+LL |     unsafe { let y = &mut x.0; }
+   |                      ^^^^^^^^
+   |
+   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
+   = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
+
 error[E0133]: mutation of layout constrained field is unsafe and requires unsafe function or block
   --> $DIR/ranged_ints2_const.rs:11:13
    |
@@ -24,7 +33,7 @@ LL |     let y = &mut x.0;
    |
    = note: mutating layout constrained fields cannot statically be checked for valid values
 
-error: aborting due to 3 previous errors
+error: aborting due to 4 previous errors
 
 Some errors have detailed explanations: E0133, E0658.
 For more information about an error, try `rustc --explain E0133`.
diff --git a/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.rs b/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.rs
index 1e57b03ced4..9eec7e0e8fe 100644
--- a/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.rs
+++ b/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.rs
@@ -13,6 +13,9 @@ unsafe fn deny_level() {
     //~^ ERROR dereference of raw pointer is unsafe and requires unsafe block
     VOID = ();
     //~^ ERROR use of mutable static is unsafe and requires unsafe block
+
+    unsafe {}
+    //~^ ERROR unnecessary `unsafe` block
 }
 
 // Check that `unsafe_op_in_unsafe_fn` works starting from the `warn` level.
@@ -25,6 +28,8 @@ unsafe fn warning_level() {
     //~^ ERROR dereference of raw pointer is unsafe and requires unsafe block
     VOID = ();
     //~^ ERROR use of mutable static is unsafe and requires unsafe block
+    unsafe {}
+    //~^ ERROR unnecessary `unsafe` block
 }
 
 unsafe fn explicit_block() {
diff --git a/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.stderr b/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.stderr
index cc595df12cc..278a036c9f1 100644
--- a/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.stderr
+++ b/src/test/ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.stderr
@@ -27,14 +27,26 @@ LL |     VOID = ();
    |
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 
+error: unnecessary `unsafe` block
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:17:5
+   |
+LL |     unsafe {}
+   |     ^^^^^^ unnecessary `unsafe` block
+   |
+note: the lint level is defined here
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:3:9
+   |
+LL | #![deny(unused_unsafe)]
+   |         ^^^^^^^^^^^^^
+
 error: call to unsafe function is unsafe and requires unsafe block (error E0133)
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:22:5
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:25:5
    |
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
 note: the lint level is defined here
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:20:8
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:23:8
    |
 LL | #[deny(warnings)]
    |        ^^^^^^^^
@@ -42,7 +54,7 @@ LL | #[deny(warnings)]
    = note: consult the function's documentation for information on how to avoid undefined behavior
 
 error: dereference of raw pointer is unsafe and requires unsafe block (error E0133)
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:24:5
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:27:5
    |
 LL |     *PTR;
    |     ^^^^ dereference of raw pointer
@@ -50,7 +62,7 @@ LL |     *PTR;
    = note: raw pointers may be NULL, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
 
 error: use of mutable static is unsafe and requires unsafe block (error E0133)
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:26:5
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:29:5
    |
 LL |     VOID = ();
    |     ^^^^^^^^^ use of mutable static
@@ -58,33 +70,39 @@ LL |     VOID = ();
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 
 error: unnecessary `unsafe` block
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:40:14
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:31:5
+   |
+LL |     unsafe {}
+   |     ^^^^^^ unnecessary `unsafe` block
+
+error: unnecessary `unsafe` block
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:45:14
    |
 LL |     unsafe { unsafe { unsf() } }
    |     ------   ^^^^^^ unnecessary `unsafe` block
    |     |
    |     because it's nested under this `unsafe` block
-   |
-note: the lint level is defined here
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:3:9
-   |
-LL | #![deny(unused_unsafe)]
-   |         ^^^^^^^^^^^^^
 
 error: unnecessary `unsafe` block
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:51:5
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:56:5
    |
+LL | unsafe fn allow_level() {
+   | ----------------------- because it's nested under this `unsafe` fn
+...
 LL |     unsafe { unsf() }
    |     ^^^^^^ unnecessary `unsafe` block
 
 error: unnecessary `unsafe` block
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:63:9
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:68:9
    |
+LL | unsafe fn nested_allow_level() {
+   | ------------------------------ because it's nested under this `unsafe` fn
+...
 LL |         unsafe { unsf() }
    |         ^^^^^^ unnecessary `unsafe` block
 
 error[E0133]: call to unsafe function is unsafe and requires unsafe block
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:69:5
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:74:5
    |
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
@@ -92,13 +110,13 @@ LL |     unsf();
    = note: consult the function's documentation for information on how to avoid undefined behavior
 
 error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
-  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:73:9
+  --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:78:9
    |
 LL |         unsf();
    |         ^^^^^^ call to unsafe function
    |
    = note: consult the function's documentation for information on how to avoid undefined behavior
 
-error: aborting due to 11 previous errors
+error: aborting due to 13 previous errors
 
 For more information about this error, try `rustc --explain E0133`.
diff --git a/src/test/ui/unsized/unchanged-param.rs b/src/test/ui/unsized/unchanged-param.rs
new file mode 100644
index 00000000000..83199e8112e
--- /dev/null
+++ b/src/test/ui/unsized/unchanged-param.rs
@@ -0,0 +1,12 @@
+#![feature(relaxed_struct_unsize)]
+// run-pass
+// Test that we allow unsizing even if there is an unchanged param in the
+// field getting unsized.
+struct A<T, U: ?Sized + 'static>(T, B<T, U>);
+struct B<T, U: ?Sized>(T, U);
+
+fn main() {
+    let x: A<[u32; 1], [u32; 1]> = A([0; 1], B([0; 1], [0; 1]));
+    let y: &A<[u32; 1], [u32]> = &x;
+    assert_eq!(y.1.1.len(), 1);
+}
diff --git a/src/test/ui/unsized/unsized-enum.stderr b/src/test/ui/unsized/unsized-enum.stderr
index 795c7beab0a..3057d4789bd 100644
--- a/src/test/ui/unsized/unsized-enum.stderr
+++ b/src/test/ui/unsized/unsized-enum.stderr
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `U` if it were used through
   --> $DIR/unsized-enum.rs:4:10
    |
 LL | enum Foo<U> { FooSome(U), FooNone }
-   |          ^            - ...if indirection was used here: `Box<U>`
+   |          ^            - ...if indirection were used here: `Box<U>`
    |          |
    |          this could be changed to `U: ?Sized`...
 
diff --git a/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr b/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr
index 9efebe3aeff..9d8a1c67734 100644
--- a/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr
+++ b/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `Y` if it were used through
   --> $DIR/unsized-inherent-impl-self-type.rs:5:11
    |
 LL | struct S5<Y>(Y);
-   |           ^  - ...if indirection was used here: `Box<Y>`
+   |           ^  - ...if indirection were used here: `Box<Y>`
    |           |
    |           this could be changed to `Y: ?Sized`...
 
diff --git a/src/test/ui/unsized/unsized-struct.stderr b/src/test/ui/unsized/unsized-struct.stderr
index e013b8fc69e..6661cf358b3 100644
--- a/src/test/ui/unsized/unsized-struct.stderr
+++ b/src/test/ui/unsized/unsized-struct.stderr
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
   --> $DIR/unsized-struct.rs:4:12
    |
 LL | struct Foo<T> { data: T }
-   |            ^          - ...if indirection was used here: `Box<T>`
+   |            ^          - ...if indirection were used here: `Box<T>`
    |            |
    |            this could be changed to `T: ?Sized`...
 
diff --git a/src/test/ui/unsized/unsized-trait-impl-self-type.stderr b/src/test/ui/unsized/unsized-trait-impl-self-type.stderr
index 516c750cb34..d1b590d8133 100644
--- a/src/test/ui/unsized/unsized-trait-impl-self-type.stderr
+++ b/src/test/ui/unsized/unsized-trait-impl-self-type.stderr
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `Y` if it were used through
   --> $DIR/unsized-trait-impl-self-type.rs:8:11
    |
 LL | struct S5<Y>(Y);
-   |           ^  - ...if indirection was used here: `Box<Y>`
+   |           ^  - ...if indirection were used here: `Box<Y>`
    |           |
    |           this could be changed to `Y: ?Sized`...
 
diff --git a/src/test/ui/unsupported-cast.rs b/src/test/ui/unsupported-cast.rs
deleted file mode 100644
index cb6a57a4d39..00000000000
--- a/src/test/ui/unsupported-cast.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// error-pattern:casting
-
-struct A;
-
-fn main() {
-  println!("{:?}", 1.0 as *const A); // Can't cast float to foreign.
-}
diff --git a/src/test/ui/unused/unused-closure.rs b/src/test/ui/unused/unused-closure.rs
index 5100636842b..c96c907318c 100644
--- a/src/test/ui/unused/unused-closure.rs
+++ b/src/test/ui/unused/unused-closure.rs
@@ -2,7 +2,6 @@
 // edition:2018
 
 #![feature(async_closure)]
-#![feature(const_in_array_repeat_expressions)]
 #![feature(generators)]
 #![deny(unused_must_use)]
 
@@ -18,10 +17,6 @@ fn unused() {
 
     [Box::new([|| {}; 10]); 1]; //~ ERROR unused array of boxed arrays of closures that must be used
 
-    [|| { //~ ERROR unused array of generators that must be used
-        yield 42u32;
-    }; 42];
-
     vec![|| "a"].pop().unwrap(); //~ ERROR unused closure that must be used
 
     let b = false;
diff --git a/src/test/ui/unused/unused-closure.stderr b/src/test/ui/unused/unused-closure.stderr
index f8b4cbb02c4..265d3e8e075 100644
--- a/src/test/ui/unused/unused-closure.stderr
+++ b/src/test/ui/unused/unused-closure.stderr
@@ -1,5 +1,5 @@
 error: unused closure that must be used
-  --> $DIR/unused-closure.rs:10:5
+  --> $DIR/unused-closure.rs:9:5
    |
 LL | /     || {
 LL | |         println!("Hello!");
@@ -7,14 +7,14 @@ LL | |     };
    | |______^
    |
 note: the lint level is defined here
-  --> $DIR/unused-closure.rs:7:9
+  --> $DIR/unused-closure.rs:6:9
    |
 LL | #![deny(unused_must_use)]
    |         ^^^^^^^^^^^^^^^
    = note: closures are lazy and do nothing unless called
 
 error: unused implementer of `Future` that must be used
-  --> $DIR/unused-closure.rs:14:5
+  --> $DIR/unused-closure.rs:13:5
    |
 LL |     async {};
    |     ^^^^^^^^^
@@ -22,7 +22,7 @@ LL |     async {};
    = note: futures do nothing unless you `.await` or poll them
 
 error: unused closure that must be used
-  --> $DIR/unused-closure.rs:15:5
+  --> $DIR/unused-closure.rs:14:5
    |
 LL |     || async {};
    |     ^^^^^^^^^^^^
@@ -30,7 +30,7 @@ LL |     || async {};
    = note: closures are lazy and do nothing unless called
 
 error: unused closure that must be used
-  --> $DIR/unused-closure.rs:16:5
+  --> $DIR/unused-closure.rs:15:5
    |
 LL |     async || {};
    |     ^^^^^^^^^^^^
@@ -38,25 +38,15 @@ LL |     async || {};
    = note: closures are lazy and do nothing unless called
 
 error: unused array of boxed arrays of closures that must be used
-  --> $DIR/unused-closure.rs:19:5
+  --> $DIR/unused-closure.rs:18:5
    |
 LL |     [Box::new([|| {}; 10]); 1];
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: closures are lazy and do nothing unless called
 
-error: unused array of generators that must be used
-  --> $DIR/unused-closure.rs:21:5
-   |
-LL | /     [|| {
-LL | |         yield 42u32;
-LL | |     }; 42];
-   | |___________^
-   |
-   = note: generators are lazy and do nothing unless resumed
-
 error: unused closure that must be used
-  --> $DIR/unused-closure.rs:25:5
+  --> $DIR/unused-closure.rs:20:5
    |
 LL |     vec![|| "a"].pop().unwrap();
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -64,12 +54,12 @@ LL |     vec![|| "a"].pop().unwrap();
    = note: closures are lazy and do nothing unless called
 
 error: unused closure that must be used
-  --> $DIR/unused-closure.rs:28:9
+  --> $DIR/unused-closure.rs:23:9
    |
 LL |         || true;
    |         ^^^^^^^^
    |
    = note: closures are lazy and do nothing unless called
 
-error: aborting due to 8 previous errors
+error: aborting due to 7 previous errors
 
diff --git a/src/test/ui/wf/wf-fn-where-clause.stderr b/src/test/ui/wf/wf-fn-where-clause.stderr
index 988cb2fa548..22598e58bd7 100644
--- a/src/test/ui/wf/wf-fn-where-clause.stderr
+++ b/src/test/ui/wf/wf-fn-where-clause.stderr
@@ -28,7 +28,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
 LL | struct Vec<T> {
    |            ^ this could be changed to `T: ?Sized`...
 LL |     t: T,
-   |        - ...if indirection was used here: `Box<T>`
+   |        - ...if indirection were used here: `Box<T>`
 
 error[E0038]: the trait `Copy` cannot be made into an object
   --> $DIR/wf-fn-where-clause.rs:12:16